TIMEOUT
The TRS could not be proven terminating. The proof attempt took 60002 ms.
The following DP Processors were used
Problem 1 was processed with processor ForwardNarrowing (3ms).
| Problem 2 was processed with processor ForwardNarrowing (3ms).
| | 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 (1ms).
| | | | | | Problem 7 was processed with processor ForwardNarrowing (2ms).
| | | | | | | Problem 8 was processed with processor ForwardNarrowing (1ms).
| | | | | | | | Problem 9 was processed with processor ForwardNarrowing (5ms).
| | | | | | | | | Problem 10 was processed with processor ForwardNarrowing (2ms).
| | | | | | | | | | Problem 11 was processed with processor ForwardNarrowing (4ms).
| | | | | | | | | | | Problem 12 was processed with processor ForwardNarrowing (3ms).
| | | | | | | | | | | | Problem 13 was processed with processor ForwardNarrowing (4ms).
| | | | | | | | | | | | | Problem 14 was processed with processor ForwardNarrowing (3ms).
| | | | | | | | | | | | | | Problem 15 was processed with processor ForwardNarrowing (1ms).
| | | | | | | | | | | | | | | Problem 16 was processed with processor ForwardNarrowing (5ms).
| | | | | | | | | | | | | | | | Problem 17 was processed with processor ForwardNarrowing (2ms).
| | | | | | | | | | | | | | | | | Problem 18 was processed with processor ForwardNarrowing (6ms).
| | | | | | | | | | | | | | | | | | Problem 19 was processed with processor ForwardNarrowing (4ms).
| | | | | | | | | | | | | | | | | | | Problem 20 was processed with processor ForwardNarrowing (4ms).
| | | | | | | | | | | | | | | | | | | | Problem 21 was processed with processor ForwardNarrowing (10ms).
| | | | | | | | | | | | | | | | | | | | | Problem 22 was processed with processor ForwardNarrowing (52ms).
| | | | | | | | | | | | | | | | | | | | | | Problem 23 was processed with processor ForwardNarrowing (43ms).
| | | | | | | | | | | | | | | | | | | | | | | Problem 24 was processed with processor ForwardNarrowing (61ms).
| | | | | | | | | | | | | | | | | | | | | | | | Problem 25 was processed with processor ForwardNarrowing (74ms).
| | | | | | | | | | | | | | | | | | | | | | | | | Problem 26 was processed with processor ForwardNarrowing (97ms).
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem 27 remains open; application of the following processors failed [ForwardNarrowing (116ms), ForwardNarrowing (97ms), ForwardNarrowing (117ms), ForwardNarrowing (120ms), ForwardNarrowing (101ms), ForwardNarrowing (118ms), ForwardNarrowing (122ms), ForwardNarrowing (111ms), ForwardNarrowing (105ms), ForwardNarrowing (100ms), ForwardNarrowing (121ms), ForwardNarrowing (102ms), ForwardNarrowing (156ms), ForwardNarrowing (104ms), ForwardNarrowing (122ms), ForwardNarrowing (128ms), ForwardNarrowing (108ms), ForwardNarrowing (133ms), ForwardNarrowing (110ms), ForwardNarrowing (164ms), ForwardNarrowing (135ms), ForwardNarrowing (111ms), ForwardNarrowing (141ms), ForwardNarrowing (120ms), ForwardNarrowing (165ms), ForwardNarrowing (115ms), ForwardNarrowing (114ms), ForwardNarrowing (133ms), ForwardNarrowing (139ms), ForwardNarrowing (117ms), ForwardNarrowing (146ms), ForwardNarrowing (timeout)].
The following open problems remain:
Open Dependency Pair Problem 1
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(plus, app(app(times, x), y)) | | app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) |
app#(app(times, app(s, x)), y) | → | app#(times, x) | | app#(app(plus, app(s, x)), y) | → | app#(s, app(app(plus, x), y)) |
app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
app#(twice, f) | → | app#(app(comp, f), f) | | app#(app(plus, app(s, x)), y) | → | app#(plus, x) |
app#(app(app(comp, f), g), x) | → | app#(g, x) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(twice, f) | → | app#(comp, f) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: plus, app, comp, twice, 0, s, times
Problem 1: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(plus, app(app(times, x), y)) | | app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) |
app#(app(times, app(s, x)), y) | → | app#(times, x) | | app#(app(plus, app(s, x)), y) | → | app#(s, app(app(plus, x), y)) |
app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) | | app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) |
app#(app(plus, app(s, x)), y) | → | app#(plus, x) | | app#(twice, f) | → | app#(app(comp, f), f) |
app#(app(app(comp, f), g), x) | → | app#(g, x) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(twice, f) | → | app#(comp, f) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: app, plus, comp, 0, twice, s, times
Strategy
The right-hand side of the rule app
#(app(times, app(s,
x)),
y) → app
#(plus, app(app(times,
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#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) | |
app#(plus, 0) | |
Thus, the rule app
#(app(times, app(s,
x)),
y) → app
#(plus, app(app(times,
x),
y)) is replaced by the following rules:
app#(app(times, app(s, 0)), _x31) → app#(plus, 0) | app#(app(times, app(s, app(s, _x32))), _x31) → app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) |
Problem 2: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(times, app(s, x)), y) | → | app#(times, x) |
app#(app(plus, app(s, x)), y) | → | app#(s, app(app(plus, x), y)) | | app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) |
app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) | | app#(app(times, app(s, 0)), _x31) | → | app#(plus, 0) |
app#(twice, f) | → | app#(app(comp, f), f) | | app#(app(plus, app(s, x)), y) | → | app#(plus, x) |
app#(app(app(comp, f), g), x) | → | app#(g, x) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(twice, f) | → | app#(comp, f) | | app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: plus, app, comp, twice, 0, s, times
Strategy
The right-hand side of the rule app
#(app(times, app(s,
x)),
y) → app
#(times,
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(times, app(s,
x)),
y) → app
#(times,
x) is deleted.
Problem 3: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(plus, app(s, x)), y) | → | app#(s, app(app(plus, x), y)) |
app#(app(times, app(s, 0)), _x31) | → | app#(plus, 0) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) | | app#(app(plus, app(s, x)), y) | → | app#(plus, x) |
app#(twice, f) | → | app#(app(comp, f), f) | | app#(app(app(comp, f), g), x) | → | app#(g, x) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(twice, f) | → | app#(comp, f) |
app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: app, plus, comp, 0, twice, s, times
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 4: 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(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) |
app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
app#(app(times, app(s, 0)), _x31) | → | app#(plus, 0) | | app#(twice, f) | → | app#(app(comp, f), f) |
app#(app(plus, app(s, x)), y) | → | app#(plus, x) | | app#(app(app(comp, f), g), x) | → | app#(g, x) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(twice, f) | → | app#(comp, f) |
app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) | | 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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: plus, app, comp, twice, 0, s, times
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 5: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) |
app#(app(plus, app(s, app(s, 0))), _x61) | → | app#(s, app(s, _x61)) | | app#(app(plus, app(s, x)), y) | → | app#(plus, x) |
app#(twice, f) | → | app#(app(comp, f), f) | | app#(app(app(comp, f), g), x) | → | app#(g, x) |
app#(twice, f) | → | app#(comp, f) | | 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) | | app#(app(times, app(s, 0)), _x31) | → | app#(plus, 0) |
app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: app, plus, comp, 0, twice, s, times
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 6: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
app#(app(times, app(s, 0)), _x31) | → | app#(plus, 0) | | app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) |
app#(twice, f) | → | app#(app(comp, f), f) | | app#(app(plus, app(s, x)), y) | → | app#(plus, x) |
app#(app(app(comp, f), g), x) | → | app#(g, 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#(twice, f) | → | app#(comp, f) |
app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) | | 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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: plus, app, comp, twice, 0, s, times
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 7: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) |
app#(app(times, app(s, 0)), _x31) | → | app#(plus, 0) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
app#(twice, f) | → | app#(app(comp, f), f) | | app#(app(app(comp, f), g), x) | → | app#(g, x) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(twice, f) | → | app#(comp, f) |
app#(app(plus, app(s, app(s, app(s, _x62)))), _x61) | → | app#(s, app(s, app(s, app(app(plus, _x62), _x61)))) | | app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) |
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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: app, plus, comp, 0, twice, s, times
Strategy
The right-hand side of the rule app
#(app(times, app(s, 0)),
_x31) → app
#(plus, 0) 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(times, app(s, 0)),
_x31) → app
#(plus, 0) is deleted.
Problem 8: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) | | app#(twice, f) | → | app#(app(comp, f), f) |
app#(app(app(comp, f), g), x) | → | app#(g, 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#(twice, f) | → | app#(comp, f) |
app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) | | 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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: plus, app, comp, twice, 0, s, times
Strategy
The right-hand side of the rule app
#(twice,
f) → app
#(comp,
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
#(twice,
f) → app
#(comp,
f) is deleted.
Problem 9: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) |
app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) | | app#(twice, f) | → | app#(app(comp, f), f) |
app#(app(app(comp, f), g), x) | → | app#(g, 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(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) |
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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: app, plus, comp, 0, twice, s, times
Strategy
The right-hand side of the rule app
#(app(plus, app(s, app(s, app(s,
_x62)))),
_x61) → app
#(s, 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#(s, app(s, app(s, app(s, app(app(plus, _x72), _x71))))) | |
app#(s, app(s, app(s, _x71))) | |
Thus, the rule app
#(app(plus, app(s, app(s, app(s,
_x62)))),
_x61) → app
#(s, app(s, app(s, app(app(plus,
_x62),
_x61)))) is replaced by the following rules:
app#(app(plus, app(s, app(s, app(s, 0)))), _x71) → app#(s, app(s, app(s, _x71))) | app#(app(plus, app(s, app(s, app(s, app(s, _x72))))), _x71) → app#(s, app(s, app(s, app(s, app(app(plus, _x72), _x71))))) |
Problem 10: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(plus, app(s, app(s, app(s, 0)))), _x71) | → | app#(s, app(s, app(s, _x71))) |
app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) | | app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) |
app#(app(plus, app(s, app(s, app(s, app(s, _x72))))), _x71) | → | app#(s, app(s, app(s, app(s, app(app(plus, _x72), _x71))))) | | app#(twice, f) | → | app#(app(comp, f), f) |
app#(app(app(comp, f), g), x) | → | app#(g, x) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) | | 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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: plus, app, comp, twice, 0, s, times
Strategy
The right-hand side of the rule app
#(app(plus, app(s, app(s, app(s, 0)))),
_x71) → app
#(s, app(s, app(s,
_x71))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
Thus, the rule app
#(app(plus, app(s, app(s, app(s, 0)))),
_x71) → app
#(s, app(s, app(s,
_x71))) is deleted.
Problem 11: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(plus, app(s, app(s, app(s, app(s, _x72))))), _x71) | → | app#(s, app(s, app(s, app(s, app(app(plus, _x72), _x71))))) |
app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
app#(twice, f) | → | app#(app(comp, f), f) | | app#(app(app(comp, f), g), x) | → | app#(g, x) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) |
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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: app, plus, comp, 0, twice, s, times
Strategy
The right-hand side of the rule app
#(app(plus, app(s, app(s, app(s, app(s,
_x72))))),
_x71) → app
#(s, 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#(s, app(s, app(s, app(s, _x101)))) | |
app#(s, app(s, app(s, app(s, app(s, app(app(plus, _x102), _x101)))))) | |
Thus, the rule app
#(app(plus, app(s, app(s, app(s, app(s,
_x72))))),
_x71) → app
#(s, app(s, app(s, app(s, app(app(plus,
_x72),
_x71))))) is replaced by the following rules:
app#(app(plus, app(s, app(s, app(s, app(s, 0))))), _x101) → app#(s, app(s, app(s, app(s, _x101)))) | app#(app(plus, app(s, app(s, app(s, app(s, app(s, _x102)))))), _x101) → app#(s, app(s, app(s, app(s, app(s, app(app(plus, _x102), _x101)))))) |
Problem 12: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(plus, app(s, app(s, app(s, app(s, 0))))), _x101) | → | app#(s, app(s, app(s, app(s, _x101)))) |
app#(app(plus, app(s, app(s, app(s, app(s, app(s, _x102)))))), _x101) | → | app#(s, app(s, app(s, app(s, app(s, app(app(plus, _x102), _x101)))))) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) | | app#(twice, f) | → | app#(app(comp, f), f) |
app#(app(app(comp, f), g), x) | → | app#(g, x) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) | | 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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: plus, app, comp, twice, 0, s, times
Strategy
The right-hand side of the rule app
#(app(plus, app(s, app(s, app(s, app(s, 0))))),
_x101) → app
#(s, app(s, app(s, app(s,
_x101)))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
Thus, the rule app
#(app(plus, app(s, app(s, app(s, app(s, 0))))),
_x101) → app
#(s, app(s, app(s, app(s,
_x101)))) is deleted.
Problem 13: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(plus, app(s, app(s, app(s, app(s, app(s, _x102)))))), _x101) | → | app#(s, app(s, app(s, app(s, app(s, app(app(plus, _x102), _x101)))))) |
app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
app#(twice, f) | → | app#(app(comp, f), f) | | app#(app(app(comp, f), g), x) | → | app#(g, x) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) |
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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: app, plus, comp, 0, twice, s, times
Strategy
The right-hand side of the rule app
#(app(plus, app(s, app(s, app(s, app(s, app(s,
_x102)))))),
_x101) → app
#(s, 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#(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x112), _x111))))))) | |
app#(s, app(s, app(s, app(s, app(s, _x111))))) | |
Thus, the rule app
#(app(plus, app(s, app(s, app(s, app(s, app(s,
_x102)))))),
_x101) → app
#(s, app(s, app(s, app(s, app(s, app(app(plus,
_x102),
_x101)))))) is replaced by the following rules:
app#(app(plus, app(s, app(s, app(s, app(s, app(s, 0)))))), _x111) → app#(s, app(s, app(s, app(s, app(s, _x111))))) | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, _x112))))))), _x111) → app#(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x112), _x111))))))) |
Problem 14: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(plus, app(s, app(s, app(s, app(s, app(s, 0)))))), _x111) | → | app#(s, app(s, app(s, app(s, app(s, _x111))))) |
app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) | | app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) |
app#(twice, f) | → | app#(app(comp, f), f) | | app#(app(app(comp, f), g), x) | → | app#(g, x) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) |
app#(app(plus, app(s, 0)), _x31) | → | app#(s, _x31) | | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, _x112))))))), _x111) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x112), _x111))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: plus, app, comp, twice, 0, s, times
Strategy
The right-hand side of the rule app
#(app(plus, app(s, app(s, app(s, app(s, app(s, 0)))))),
_x111) → app
#(s, 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(plus, app(s, app(s, app(s, app(s, app(s, 0)))))),
_x111) → app
#(s, app(s, app(s, app(s, app(s,
_x111))))) is deleted.
Problem 15: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) |
app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) | | app#(twice, f) | → | app#(app(comp, f), f) |
app#(app(app(comp, f), g), x) | → | app#(g, x) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) | | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, _x112))))))), _x111) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x112), _x111))))))) |
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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: app, plus, comp, 0, twice, s, times
Strategy
The right-hand side of the rule app
#(app(plus, app(s, 0)),
_x31) → app
#(s,
_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(plus, app(s, 0)),
_x31) → app
#(s,
_x31) is deleted.
Problem 16: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) | | app#(twice, f) | → | app#(app(comp, f), f) |
app#(app(app(comp, f), g), x) | → | app#(g, x) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) | | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, _x112))))))), _x111) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x112), _x111))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: plus, app, comp, twice, 0, s, times
Strategy
The right-hand side of the rule app
#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s,
_x112))))))),
_x111) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(app(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#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x142), _x141)))))))) | |
app#(s, app(s, app(s, app(s, app(s, app(s, _x141)))))) | |
Thus, the rule app
#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s,
_x112))))))),
_x111) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(app(plus,
_x112),
_x111))))))) is replaced by the following rules:
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))), _x141) → app#(s, app(s, app(s, app(s, app(s, app(s, _x141)))))) | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x142)))))))), _x141) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x142), _x141)))))))) |
Problem 17: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) |
app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) | | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))), _x141) | → | app#(s, app(s, app(s, app(s, app(s, app(s, _x141)))))) |
app#(twice, f) | → | app#(app(comp, f), f) | | app#(app(app(comp, f), g), x) | → | app#(g, x) |
app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) | | app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) |
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x142)))))))), _x141) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x142), _x141)))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: app, plus, comp, 0, twice, s, times
Strategy
The right-hand side of the rule app
#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))),
_x141) → app
#(s, app(s, app(s, app(s, app(s, app(s,
_x141)))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
Thus, the rule app
#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, 0))))))),
_x141) → app
#(s, app(s, app(s, app(s, app(s, app(s,
_x141)))))) is deleted.
Problem 18: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) | | app#(twice, f) | → | app#(app(comp, f), f) |
app#(app(app(comp, f), g), x) | → | app#(g, x) | | 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, _x142)))))))), _x141) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x142), _x141)))))))) | | app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: plus, app, comp, twice, 0, s, times
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,
_x142)))))))),
_x141) → app
#(s, 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#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x152), _x151))))))))) | |
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, _x151))))))) | |
Thus, the rule app
#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x142)))))))),
_x141) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus,
_x142),
_x141)))))))) is replaced by the following rules:
app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))), _x151) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, _x151))))))) | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x152))))))))), _x151) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x152), _x151))))))))) |
Problem 19: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))), _x151) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, _x151))))))) |
app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
app#(twice, f) | → | app#(app(comp, f), f) | | app#(app(app(comp, f), g), x) | → | app#(g, x) |
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, _x152))))))))), _x151) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x152), _x151))))))))) |
app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: app, plus, comp, 0, twice, s, times
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, 0)))))))),
_x151) → app
#(s, 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(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 0)))))))),
_x151) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x151))))))) is deleted.
Problem 20: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) | | app#(twice, f) | → | app#(app(comp, f), f) |
app#(app(app(comp, f), g), x) | → | app#(g, x) | | 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, _x152))))))))), _x151) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x152), _x151))))))))) | | app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: plus, app, comp, twice, 0, s, times
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,
_x152))))))))),
_x151) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus,
_x152),
_x151))))))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant Terms | Irrelevant Terms |
---|
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x182), _x181)))))))))) | |
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x181)))))))) | |
Thus, the rule app
#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x152))))))))),
_x151) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus,
_x152),
_x151))))))))) 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, 0))))))))), _x181) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x181)))))))) | app#(app(plus, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x182)))))))))), _x181) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(app(plus, _x182), _x181)))))))))) |
Problem 21: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) |
app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) | | app#(twice, f) | → | app#(app(comp, f), f) |
app#(app(app(comp, f), g), x) | → | app#(g, x) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) | | 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, 0)))))))))))))))))))))))), _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, _x471))))))))))))))))))))))) |
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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: app, plus, comp, 0, twice, s, times
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, 0)))))))))))))))))))))))),
_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,
_x471))))))))))))))))))))))) 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, 0)))))))))))))))))))))))),
_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,
_x471))))))))))))))))))))))) is deleted.
Problem 22: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) |
app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) | | app#(twice, f) | → | app#(app(comp, f), f) |
app#(app(app(comp, f), g), x) | → | app#(g, x) | | 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, _x982)))))))))))))))))))))))))))))))))))))))))))))))))), _x981) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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, _x982), _x981)))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) |
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, 0))))))))))))))))))))))))))))))))))))))))))))))))), _x981) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x981)))))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: app, plus, comp, 0, twice, s, times
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,
_x982)))))))))))))))))))))))))))))))))))))))))))))))))),
_x981) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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,
_x982),
_x981)))))))))))))))))))))))))))))))))))))))))))))))))) 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, _x1011))))))))))))))))))))))))))))))))))))))))))))))))) | |
app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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, _x1012), _x1011))))))))))))))))))))))))))))))))))))))))))))))))))) | |
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,
_x982)))))))))))))))))))))))))))))))))))))))))))))))))),
_x981) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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,
_x982),
_x981)))))))))))))))))))))))))))))))))))))))))))))))))) 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, _x1012))))))))))))))))))))))))))))))))))))))))))))))))))), _x1011) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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, _x1012), _x1011))))))))))))))))))))))))))))))))))))))))))))))))))) | 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, 0)))))))))))))))))))))))))))))))))))))))))))))))))), _x1011) → app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))))))))))))))) |
Problem 23: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), 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, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1501) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x1501)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
app#(twice, f) | → | app#(app(comp, f), f) | | 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, _x1502)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x1501) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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, _x1502), _x1501)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(app(comp, f), g), x) | → | app#(g, x) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) | | 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, 0))))))))))))))))))))))))))))))))))))))))))))))))), _x981) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x981)))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(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)))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: app, plus, comp, 0, twice, s, times
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, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_x1501) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x1501)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 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, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_x1501) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x1501)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is deleted.
Problem 24: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) | | app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) |
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, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2031) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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#(twice, f) | → | app#(app(comp, f), f) |
app#(app(app(comp, f), g), x) | → | app#(g, x) | | 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, _x2032))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x2031) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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, _x2032), _x2031))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) | | 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(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) |
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, 0))))))))))))))))))))))))))))))))))))))))))))))))), _x981) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x981)))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(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(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(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: app, plus, comp, 0, twice, s, times
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, app(s, 0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_x2031) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 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, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_x2031) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is deleted.
Problem 25: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
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, 0))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _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, _x2501)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) |
app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
app#(twice, f) | → | app#(app(comp, f), f) | | app#(app(app(comp, f), g), x) | → | app#(g, x) |
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(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) | | 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: app, plus, comp, 0, twice, s, times
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, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_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,
_x2501)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 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, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_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,
_x2501)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is deleted.
Problem 26: ForwardNarrowing
Dependency Pair Problem
Dependency Pairs
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, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x3011) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x3011))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) | | app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) |
app#(app(app(comp, f), g), x) | → | app#(f, app(g, x)) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
app#(twice, f) | → | app#(app(comp, f), f) | | app#(app(app(comp, f), g), x) | → | app#(g, x) |
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, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, _x3012))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), _x3011) | → | app#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(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, _x3012), _x3011))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
app#(app(times, app(s, app(s, _x32))), _x31) | → | app#(plus, app(app(plus, app(app(times, _x32), _x31)), _x31)) | | 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) |
Rewrite Rules
app(app(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(comp, f), g), x) | → | app(f, app(g, x)) | | app(twice, f) | → | app(app(comp, f), f) |
Original Signature
Termination of terms over the following signature is verified: app, plus, comp, 0, twice, s, times
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, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_x3011) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x3011))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 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, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, 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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))),
_x3011) → app
#(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s, app(s,
_x3011))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) is deleted.