TIMEOUT

The TRS could not be proven terminating. The proof attempt took 60000 ms.

The following DP Processors were used


Problem 1 was processed with processor ForwardNarrowing (1ms).
 | – Problem 2 was processed with processor ForwardNarrowing (0ms).
 |    | – Problem 3 was processed with processor ForwardNarrowing (1ms).
 |    |    | – Problem 4 was processed with processor ForwardNarrowing (2ms).
 |    |    |    | – Problem 5 was processed with processor ForwardNarrowing (6ms).
 |    |    |    |    | – Problem 6 was processed with processor ForwardNarrowing (3ms).
 |    |    |    |    |    | – Problem 7 was processed with processor ForwardNarrowing (2ms).
 |    |    |    |    |    |    | – Problem 8 was processed with processor ForwardNarrowing (4ms).
 |    |    |    |    |    |    |    | – Problem 9 was processed with processor ForwardNarrowing (3ms).
 |    |    |    |    |    |    |    |    | – Problem 10 was processed with processor ForwardNarrowing (1ms).
 |    |    |    |    |    |    |    |    |    | – Problem 11 was processed with processor ForwardNarrowing (5ms).
 |    |    |    |    |    |    |    |    |    |    | – Problem 12 was processed with processor ForwardNarrowing (3ms).
 |    |    |    |    |    |    |    |    |    |    |    | – Problem 13 was processed with processor ForwardNarrowing (4ms).
 |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 14 was processed with processor ForwardNarrowing (5ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 15 was processed with processor ForwardNarrowing (4ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 16 was processed with processor ForwardNarrowing (6ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 17 was processed with processor ForwardNarrowing (6ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 18 was processed with processor ForwardNarrowing (7ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 19 was processed with processor ForwardNarrowing (5ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 20 was processed with processor ForwardNarrowing (5ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 21 was processed with processor ForwardNarrowing (11ms).
 |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    |    | – Problem 22 remains open; application of the following processors failed [ForwardNarrowing (9ms), ForwardNarrowing (13ms), ForwardNarrowing (18ms), ForwardNarrowing (20ms), ForwardNarrowing (23ms), ForwardNarrowing (76ms), ForwardNarrowing (52ms), ForwardNarrowing (timeout)].

The following open problems remain:



Open Dependency Pair Problem 1

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, f), app(node, xs))app#(maptlist, f)
app#(app(maptlist, f), app(app(cons, x), xs))app#(mapt, f)app#(app(maptlist, f), app(app(cons, x), xs))app#(maptlist, f)
app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)app#(app(maptlist, f), app(app(cons, x), xs))app#(cons, app(app(mapt, f), x))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))app#(app(mapt, f), app(node, xs))app#(node, app(app(maptlist, f), xs))
app#(app(mapt, f), app(leaf, x))app#(leaf, app(f, x))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, cons, nil


Problem 1: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, f), app(node, xs))app#(maptlist, f)
app#(app(maptlist, f), app(app(cons, x), xs))app#(mapt, f)app#(app(maptlist, f), app(app(cons, x), xs))app#(maptlist, f)
app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)app#(app(mapt, f), app(leaf, x))app#(leaf, app(f, x))
app#(app(mapt, f), app(node, xs))app#(node, app(app(maptlist, f), xs))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))
app#(app(maptlist, f), app(app(cons, x), xs))app#(cons, app(app(mapt, f), x))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, nil, cons

Strategy


The right-hand side of the rule app#(app(mapt, f), app(node, xs)) → app#(maptlist, 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 TermsIrrelevant Terms
Thus, the rule app#(app(mapt, f), app(node, xs)) → app#(maptlist, f) is deleted.

Problem 2: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(maptlist, f), app(app(cons, x), xs))app#(mapt, f)
app#(app(maptlist, f), app(app(cons, x), xs))app#(maptlist, f)app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)
app#(app(maptlist, f), app(app(cons, x), xs))app#(cons, app(app(mapt, f), x))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))
app#(app(mapt, f), app(node, xs))app#(node, app(app(maptlist, f), xs))app#(app(mapt, f), app(leaf, x))app#(leaf, app(f, x))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, cons, nil

Strategy


The right-hand side of the rule app#(app(maptlist, f), app(app(cons, x), xs)) → app#(mapt, 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 TermsIrrelevant Terms
Thus, the rule app#(app(maptlist, f), app(app(cons, x), xs)) → app#(mapt, f) is deleted.

Problem 3: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(maptlist, f), app(app(cons, x), xs))app#(maptlist, f)
app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)app#(app(mapt, f), app(leaf, x))app#(leaf, app(f, x))
app#(app(mapt, f), app(node, xs))app#(node, app(app(maptlist, f), xs))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))
app#(app(maptlist, f), app(app(cons, x), xs))app#(cons, app(app(mapt, f), x))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, nil, cons

Strategy


The right-hand side of the rule app#(app(maptlist, f), app(app(cons, x), xs)) → app#(maptlist, 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 TermsIrrelevant Terms
Thus, the rule app#(app(maptlist, f), app(app(cons, x), xs)) → app#(maptlist, f) is deleted.

Problem 4: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)
app#(app(maptlist, f), app(app(cons, x), xs))app#(cons, app(app(mapt, f), x))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))
app#(app(mapt, f), app(node, xs))app#(node, app(app(maptlist, f), xs))app#(app(mapt, f), app(leaf, x))app#(leaf, app(f, x))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, cons, nil

Strategy


The right-hand side of the rule app#(app(mapt, f), app(leaf, x)) → app#(leaf, app(f, x)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
app#(leaf, nil) 
app#(leaf, app(node, app(app(maptlist, _x31), _x32))) 
app#(leaf, app(leaf, app(_x31, _x32))) 
app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32))) 
Thus, the rule app#(app(mapt, f), app(leaf, x)) → app#(leaf, app(f, x)) is replaced by the following rules:
app#(app(mapt, app(mapt, _x31)), app(leaf, app(leaf, _x32))) → app#(leaf, app(leaf, app(_x31, _x32)))app#(app(mapt, app(mapt, _x31)), app(leaf, app(node, _x32))) → app#(leaf, app(node, app(app(maptlist, _x31), _x32)))
app#(app(mapt, app(maptlist, _x31)), app(leaf, nil)) → app#(leaf, nil)app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32))) → app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))

Problem 5: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, app(mapt, _x31)), app(leaf, app(leaf, _x32)))app#(leaf, app(leaf, app(_x31, _x32)))
app#(app(mapt, app(mapt, _x31)), app(leaf, app(node, _x32)))app#(leaf, app(node, app(app(maptlist, _x31), _x32)))app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)
app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)app#(app(mapt, f), app(node, xs))app#(node, app(app(maptlist, f), xs))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))app#(app(maptlist, f), app(app(cons, x), xs))app#(cons, app(app(mapt, f), x))
app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, nil, cons

Strategy


The right-hand side of the rule app#(app(mapt, app(mapt, _x31)), app(leaf, app(leaf, _x32))) → app#(leaf, app(leaf, app(_x31, _x32))) 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 TermsIrrelevant Terms
app#(leaf, app(leaf, app(node, app(app(maptlist, _x61), _x62)))) 
app#(leaf, app(leaf, app(leaf, app(_x61, _x62)))) 
app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62)))) 
app#(leaf, app(leaf, nil)) 
Thus, the rule app#(app(mapt, app(mapt, _x31)), app(leaf, app(leaf, _x32))) → app#(leaf, app(leaf, app(_x31, _x32))) is replaced by the following rules:
app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, nil))) → app#(leaf, app(leaf, nil))app#(app(mapt, app(mapt, app(mapt, _x61))), app(leaf, app(leaf, app(node, _x62)))) → app#(leaf, app(leaf, app(node, app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62)))) → app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))app#(app(mapt, app(mapt, app(mapt, _x61))), app(leaf, app(leaf, app(leaf, _x62)))) → app#(leaf, app(leaf, app(leaf, app(_x61, _x62))))

Problem 6: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, app(mapt, app(mapt, _x61))), app(leaf, app(leaf, app(node, _x62))))app#(leaf, app(leaf, app(node, app(app(maptlist, _x61), _x62))))
app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)app#(app(maptlist, f), app(app(cons, x), xs))app#(cons, app(app(mapt, f), x))
app#(app(mapt, f), app(node, xs))app#(node, app(app(maptlist, f), xs))app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)
app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, nil)))app#(leaf, app(leaf, nil))app#(app(mapt, app(mapt, _x31)), app(leaf, app(node, _x32)))app#(leaf, app(node, app(app(maptlist, _x31), _x32)))
app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62))))app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))app#(app(mapt, app(mapt, app(mapt, _x61))), app(leaf, app(leaf, app(leaf, _x62))))app#(leaf, app(leaf, app(leaf, app(_x61, _x62))))
app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, cons, nil

Strategy


The right-hand side of the rule app#(app(mapt, app(mapt, app(mapt, _x61))), app(leaf, app(leaf, app(node, _x62)))) → app#(leaf, app(leaf, app(node, app(app(maptlist, _x61), _x62)))) 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 TermsIrrelevant Terms
app#(leaf, app(leaf, app(node, nil))) 
app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72))))) 
Thus, the rule app#(app(mapt, app(mapt, app(mapt, _x61))), app(leaf, app(leaf, app(node, _x62)))) → app#(leaf, app(leaf, app(node, app(app(maptlist, _x61), _x62)))) is replaced by the following rules:
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, app(app(cons, _x73), _x72))))) → app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, nil)))) → app#(leaf, app(leaf, app(node, nil)))

Problem 7: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)
app#(app(maptlist, f), app(app(cons, x), xs))app#(cons, app(app(mapt, f), x))app#(app(mapt, f), app(node, xs))app#(node, app(app(maptlist, f), xs))
app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, nil)))app#(leaf, app(leaf, nil))
app#(app(mapt, app(mapt, _x31)), app(leaf, app(node, _x32)))app#(leaf, app(node, app(app(maptlist, _x31), _x32)))app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62))))app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(mapt, _x61))), app(leaf, app(leaf, app(leaf, _x62))))app#(leaf, app(leaf, app(leaf, app(_x61, _x62))))app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, nil))))app#(leaf, app(leaf, app(node, nil)))

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, nil, cons

Strategy


The right-hand side of the rule app#(app(maptlist, f), app(app(cons, x), xs)) → app#(cons, app(app(mapt, f), x)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
app#(cons, app(leaf, app(_x31, _x32))) 
app#(cons, app(node, app(app(maptlist, _x31), _x32))) 
Thus, the rule app#(app(maptlist, f), app(app(cons, x), xs)) → app#(cons, app(app(mapt, f), x)) is replaced by the following rules:
app#(app(maptlist, _x31), app(app(cons, app(node, _x32)), xs)) → app#(cons, app(node, app(app(maptlist, _x31), _x32)))app#(app(maptlist, _x31), app(app(cons, app(leaf, _x32)), xs)) → app#(cons, app(leaf, app(_x31, _x32)))

Problem 8: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)
app#(app(maptlist, _x31), app(app(cons, app(node, _x32)), xs))app#(cons, app(node, app(app(maptlist, _x31), _x32)))app#(app(mapt, f), app(node, xs))app#(node, app(app(maptlist, f), xs))
app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, nil)))app#(leaf, app(leaf, nil))
app#(app(mapt, app(mapt, _x31)), app(leaf, app(node, _x32)))app#(leaf, app(node, app(app(maptlist, _x31), _x32)))app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62))))app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(mapt, _x61))), app(leaf, app(leaf, app(leaf, _x62))))app#(leaf, app(leaf, app(leaf, app(_x61, _x62))))app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, nil))))app#(leaf, app(leaf, app(node, nil)))app#(app(maptlist, _x31), app(app(cons, app(leaf, _x32)), xs))app#(cons, app(leaf, app(_x31, _x32)))

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, cons, nil

Strategy


The right-hand side of the rule app#(app(maptlist, _x31), app(app(cons, app(node, _x32)), xs)) → app#(cons, app(node, app(app(maptlist, _x31), _x32))) 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 TermsIrrelevant Terms
app#(cons, app(node, nil)) 
app#(cons, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62)))) 
Thus, the rule app#(app(maptlist, _x31), app(app(cons, app(node, _x32)), xs)) → app#(cons, app(node, app(app(maptlist, _x31), _x32))) is replaced by the following rules:
app#(app(maptlist, _x61), app(app(cons, app(node, nil)), xs)) → app#(cons, app(node, nil))app#(app(maptlist, _x61), app(app(cons, app(node, app(app(cons, _x63), _x62))), xs)) → app#(cons, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))

Problem 9: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)
app#(app(mapt, f), app(node, xs))app#(node, app(app(maptlist, f), xs))app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)
app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, nil)))app#(leaf, app(leaf, nil))app#(app(mapt, app(mapt, _x31)), app(leaf, app(node, _x32)))app#(leaf, app(node, app(app(maptlist, _x31), _x32)))
app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62))))app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))app#(app(mapt, app(mapt, app(mapt, _x61))), app(leaf, app(leaf, app(leaf, _x62))))app#(leaf, app(leaf, app(leaf, app(_x61, _x62))))
app#(app(maptlist, _x61), app(app(cons, app(node, nil)), xs))app#(cons, app(node, nil))app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))
app#(app(maptlist, _x31), app(app(cons, app(leaf, _x32)), xs))app#(cons, app(leaf, app(_x31, _x32)))app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, nil))))app#(leaf, app(leaf, app(node, nil)))
app#(app(maptlist, _x61), app(app(cons, app(node, app(app(cons, _x63), _x62))), xs))app#(cons, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, nil, cons

Strategy


The right-hand side of the rule app#(app(mapt, f), app(node, xs)) → app#(node, app(app(maptlist, f), xs)) 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 TermsIrrelevant Terms
app#(node, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32))) 
app#(node, nil) 
Thus, the rule app#(app(mapt, f), app(node, xs)) → app#(node, app(app(maptlist, f), xs)) is replaced by the following rules:
app#(app(mapt, _x31), app(node, nil)) → app#(node, nil)app#(app(mapt, _x31), app(node, app(app(cons, _x33), _x32))) → app#(node, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))

Problem 10: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, _x31), app(node, nil))app#(node, nil)
app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)
app#(app(mapt, _x31), app(node, app(app(cons, _x33), _x32)))app#(node, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, nil)))app#(leaf, app(leaf, nil))
app#(app(mapt, app(mapt, _x31)), app(leaf, app(node, _x32)))app#(leaf, app(node, app(app(maptlist, _x31), _x32)))app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62))))app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(mapt, _x61))), app(leaf, app(leaf, app(leaf, _x62))))app#(leaf, app(leaf, app(leaf, app(_x61, _x62))))app#(app(maptlist, _x61), app(app(cons, app(node, nil)), xs))app#(cons, app(node, nil))
app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))app#(app(maptlist, _x61), app(app(cons, app(node, app(app(cons, _x63), _x62))), xs))app#(cons, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, nil))))app#(leaf, app(leaf, app(node, nil)))app#(app(maptlist, _x31), app(app(cons, app(leaf, _x32)), xs))app#(cons, app(leaf, app(_x31, _x32)))

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, cons, nil

Strategy


The right-hand side of the rule app#(app(mapt, _x31), app(node, nil)) → app#(node, nil) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
Thus, the rule app#(app(mapt, _x31), app(node, nil)) → app#(node, nil) is deleted.

Problem 11: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)
app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)app#(app(mapt, _x31), app(node, app(app(cons, _x33), _x32)))app#(node, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))
app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, nil)))app#(leaf, app(leaf, nil))app#(app(mapt, app(mapt, _x31)), app(leaf, app(node, _x32)))app#(leaf, app(node, app(app(maptlist, _x31), _x32)))
app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62))))app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))app#(app(mapt, app(mapt, app(mapt, _x61))), app(leaf, app(leaf, app(leaf, _x62))))app#(leaf, app(leaf, app(leaf, app(_x61, _x62))))
app#(app(maptlist, _x61), app(app(cons, app(node, nil)), xs))app#(cons, app(node, nil))app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))
app#(app(maptlist, _x31), app(app(cons, app(leaf, _x32)), xs))app#(cons, app(leaf, app(_x31, _x32)))app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, nil))))app#(leaf, app(leaf, app(node, nil)))
app#(app(maptlist, _x61), app(app(cons, app(node, app(app(cons, _x63), _x62))), xs))app#(cons, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, nil, cons

Strategy


The right-hand side of the rule app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, nil))) → app#(leaf, app(leaf, nil)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
Thus, the rule app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, nil))) → app#(leaf, app(leaf, nil)) is deleted.

Problem 12: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)
app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)app#(app(mapt, _x31), app(node, app(app(cons, _x33), _x32)))app#(node, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))
app#(app(mapt, app(mapt, _x31)), app(leaf, app(node, _x32)))app#(leaf, app(node, app(app(maptlist, _x31), _x32)))app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62))))app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(mapt, _x61))), app(leaf, app(leaf, app(leaf, _x62))))app#(leaf, app(leaf, app(leaf, app(_x61, _x62))))app#(app(maptlist, _x61), app(app(cons, app(node, nil)), xs))app#(cons, app(node, nil))
app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))app#(app(maptlist, _x61), app(app(cons, app(node, app(app(cons, _x63), _x62))), xs))app#(cons, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, nil))))app#(leaf, app(leaf, app(node, nil)))app#(app(maptlist, _x31), app(app(cons, app(leaf, _x32)), xs))app#(cons, app(leaf, app(_x31, _x32)))

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, cons, nil

Strategy


The right-hand side of the rule app#(app(mapt, app(mapt, _x31)), app(leaf, app(node, _x32))) → app#(leaf, app(node, app(app(maptlist, _x31), _x32))) 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 TermsIrrelevant Terms
app#(leaf, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62)))) 
app#(leaf, app(node, nil)) 
Thus, the rule app#(app(mapt, app(mapt, _x31)), app(leaf, app(node, _x32))) → app#(leaf, app(node, app(app(maptlist, _x31), _x32))) is replaced by the following rules:
app#(app(mapt, app(mapt, _x61)), app(leaf, app(node, nil))) → app#(leaf, app(node, nil))app#(app(mapt, app(mapt, _x61)), app(leaf, app(node, app(app(cons, _x63), _x62)))) → app#(leaf, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))

Problem 13: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, app(mapt, _x61)), app(leaf, app(node, nil)))app#(leaf, app(node, nil))
app#(app(mapt, app(mapt, _x61)), app(leaf, app(node, app(app(cons, _x63), _x62))))app#(leaf, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)
app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)app#(app(mapt, _x31), app(node, app(app(cons, _x33), _x32)))app#(node, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))
app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62))))app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))app#(app(mapt, app(mapt, app(mapt, _x61))), app(leaf, app(leaf, app(leaf, _x62))))app#(leaf, app(leaf, app(leaf, app(_x61, _x62))))
app#(app(maptlist, _x61), app(app(cons, app(node, nil)), xs))app#(cons, app(node, nil))app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))
app#(app(maptlist, _x31), app(app(cons, app(leaf, _x32)), xs))app#(cons, app(leaf, app(_x31, _x32)))app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, nil))))app#(leaf, app(leaf, app(node, nil)))
app#(app(maptlist, _x61), app(app(cons, app(node, app(app(cons, _x63), _x62))), xs))app#(cons, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, nil, cons

Strategy


The right-hand side of the rule app#(app(mapt, app(mapt, _x61)), app(leaf, app(node, nil))) → app#(leaf, app(node, nil)) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
Thus, the rule app#(app(mapt, app(mapt, _x61)), app(leaf, app(node, nil))) → app#(leaf, app(node, nil)) is deleted.

Problem 14: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, app(mapt, _x61)), app(leaf, app(node, app(app(cons, _x63), _x62))))app#(leaf, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)
app#(app(mapt, _x31), app(node, app(app(cons, _x33), _x32)))app#(node, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62))))app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(mapt, _x61))), app(leaf, app(leaf, app(leaf, _x62))))app#(leaf, app(leaf, app(leaf, app(_x61, _x62))))app#(app(maptlist, _x61), app(app(cons, app(node, nil)), xs))app#(cons, app(node, nil))
app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))app#(app(maptlist, _x61), app(app(cons, app(node, app(app(cons, _x63), _x62))), xs))app#(cons, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, nil))))app#(leaf, app(leaf, app(node, nil)))app#(app(maptlist, _x31), app(app(cons, app(leaf, _x32)), xs))app#(cons, app(leaf, app(_x31, _x32)))

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, cons, nil

Strategy


The right-hand side of the rule app#(app(mapt, app(mapt, app(mapt, _x61))), app(leaf, app(leaf, app(leaf, _x62)))) → app#(leaf, app(leaf, app(leaf, app(_x61, _x62)))) 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 TermsIrrelevant Terms
app#(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72))))) 
app#(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x71), _x72))))) 
app#(leaf, app(leaf, app(leaf, nil))) 
app#(leaf, app(leaf, app(leaf, app(leaf, app(_x71, _x72))))) 
Thus, the rule app#(app(mapt, app(mapt, app(mapt, _x61))), app(leaf, app(leaf, app(leaf, _x62)))) → app#(leaf, app(leaf, app(leaf, app(_x61, _x62)))) is replaced by the following rules:
app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, nil)))) → app#(leaf, app(leaf, app(leaf, nil)))app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, app(app(cons, _x73), _x72))))) → app#(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, _x71)))), app(leaf, app(leaf, app(leaf, app(leaf, _x72))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(_x71, _x72)))))app#(app(mapt, app(mapt, app(mapt, app(mapt, _x71)))), app(leaf, app(leaf, app(leaf, app(node, _x72))))) → app#(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x71), _x72)))))

Problem 15: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, app(mapt, _x61)), app(leaf, app(node, app(app(cons, _x63), _x62))))app#(leaf, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)
app#(app(mapt, app(mapt, app(mapt, app(mapt, _x71)))), app(leaf, app(leaf, app(leaf, app(leaf, _x72)))))app#(leaf, app(leaf, app(leaf, app(leaf, app(_x71, _x72)))))app#(app(mapt, app(mapt, app(mapt, app(mapt, _x71)))), app(leaf, app(leaf, app(leaf, app(node, _x72)))))app#(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x71), _x72)))))
app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)app#(app(mapt, _x31), app(node, app(app(cons, _x33), _x32)))app#(node, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))
app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, nil))))app#(leaf, app(leaf, app(leaf, nil)))app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62))))app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)app#(app(maptlist, _x61), app(app(cons, app(node, nil)), xs))app#(cons, app(node, nil))
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))
app#(app(maptlist, _x31), app(app(cons, app(leaf, _x32)), xs))app#(cons, app(leaf, app(_x31, _x32)))app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, nil))))app#(leaf, app(leaf, app(node, nil)))
app#(app(maptlist, _x61), app(app(cons, app(node, app(app(cons, _x63), _x62))), xs))app#(cons, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, nil, cons

Strategy


The right-hand side of the rule app#(app(mapt, app(mapt, app(mapt, app(mapt, _x71)))), app(leaf, app(leaf, app(leaf, app(leaf, _x72))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(_x71, _x72))))) 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 TermsIrrelevant Terms
app#(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x101), _x102)))))) 
app#(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x101), _x103)), app(app(maptlist, _x101), _x102)))))) 
app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x101, _x102)))))) 
app#(leaf, app(leaf, app(leaf, app(leaf, nil)))) 
Thus, the rule app#(app(mapt, app(mapt, app(mapt, app(mapt, _x71)))), app(leaf, app(leaf, app(leaf, app(leaf, _x72))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(_x71, _x72))))) is replaced by the following rules:
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x103), _x102)))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x101), _x103)), app(app(maptlist, _x101), _x102))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x102)))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x101), _x102))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, _x102)))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x101, _x102))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, nil))))) → app#(leaf, app(leaf, app(leaf, app(leaf, nil))))

Problem 16: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, app(mapt, _x61)), app(leaf, app(node, app(app(cons, _x63), _x62))))app#(leaf, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, _x102))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x101, _x102))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, _x71)))), app(leaf, app(leaf, app(leaf, app(node, _x72)))))app#(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x71), _x72)))))
app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)app#(app(mapt, _x31), app(node, app(app(cons, _x33), _x32)))app#(node, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))
app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, nil))))app#(leaf, app(leaf, app(leaf, nil)))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x103), _x102))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x101), _x103)), app(app(maptlist, _x101), _x102))))))
app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62))))app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x102))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x101), _x102))))))
app#(app(maptlist, _x61), app(app(cons, app(node, nil)), xs))app#(cons, app(node, nil))app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, nil)))))app#(leaf, app(leaf, app(leaf, app(leaf, nil))))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))app#(app(maptlist, _x61), app(app(cons, app(node, app(app(cons, _x63), _x62))), xs))app#(cons, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, nil))))app#(leaf, app(leaf, app(node, nil)))app#(app(maptlist, _x31), app(app(cons, app(leaf, _x32)), xs))app#(cons, app(leaf, app(_x31, _x32)))

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, cons, nil

Strategy


The right-hand side of the rule app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, _x102)))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x101, _x102)))))) 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 TermsIrrelevant Terms
app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil))))) 
app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x111, _x112))))))) 
app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x111), _x113)), app(app(maptlist, _x111), _x112))))))) 
app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x111), _x112))))))) 
Thus, the rule app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, _x102)))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x101, _x102)))))) is replaced by the following rules:
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, _x112))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x111, _x112)))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x113), _x112))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x111), _x113)), app(app(maptlist, _x111), _x112)))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x112))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x111), _x112)))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil)))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil)))))

Problem 17: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, _x112)))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x111, _x112)))))))
app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil)))))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)
app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, nil))))app#(leaf, app(leaf, app(leaf, nil)))app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62))))app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x102))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x101), _x102))))))app#(app(maptlist, _x61), app(app(cons, app(node, nil)), xs))app#(cons, app(node, nil))
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, nil))))app#(leaf, app(leaf, app(node, nil)))
app#(app(maptlist, _x31), app(app(cons, app(leaf, _x32)), xs))app#(cons, app(leaf, app(_x31, _x32)))app#(app(maptlist, _x61), app(app(cons, app(node, app(app(cons, _x63), _x62))), xs))app#(cons, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, _x61)), app(leaf, app(node, app(app(cons, _x63), _x62))))app#(leaf, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x112)))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x111), _x112)))))))
app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(mapt, app(mapt, app(mapt, app(mapt, _x71)))), app(leaf, app(leaf, app(leaf, app(node, _x72)))))app#(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x71), _x72)))))
app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))app#(app(mapt, _x31), app(node, app(app(cons, _x33), _x32)))app#(node, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x103), _x102))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x101), _x103)), app(app(maptlist, _x101), _x102))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x113), _x112)))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x111), _x113)), app(app(maptlist, _x111), _x112)))))))
app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)app#(app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, nil)))))app#(leaf, app(leaf, app(leaf, app(leaf, nil))))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, nil, cons

Strategy


The right-hand side of the rule app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, _x112))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x111, _x112))))))) 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 TermsIrrelevant Terms
app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil)))))) 
app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x141, _x142)))))))) 
app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x141), _x143)), app(app(maptlist, _x141), _x142)))))))) 
app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x141), _x142)))))))) 
Thus, the rule app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, _x112))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x111, _x112))))))) is replaced by the following rules:
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, _x142)))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x141, _x142))))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x142)))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x141), _x142))))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x143), _x142)))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x141), _x143)), app(app(maptlist, _x141), _x142))))))))

Problem 18: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x142))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x141), _x142))))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil)))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x143), _x142))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x141), _x143)), app(app(maptlist, _x141), _x142))))))))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, nil))))app#(leaf, app(leaf, app(leaf, nil)))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, _x142))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x141, _x142))))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x102))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x101), _x102))))))
app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62))))app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))app#(app(maptlist, _x61), app(app(cons, app(node, nil)), xs))app#(cons, app(node, nil))
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, nil))))app#(leaf, app(leaf, app(node, nil)))
app#(app(maptlist, _x31), app(app(cons, app(leaf, _x32)), xs))app#(cons, app(leaf, app(_x31, _x32)))app#(app(maptlist, _x61), app(app(cons, app(node, app(app(cons, _x63), _x62))), xs))app#(cons, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, _x61)), app(leaf, app(node, app(app(cons, _x63), _x62))))app#(leaf, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x112)))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x111), _x112)))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil)))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil))))))app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, _x71)))), app(leaf, app(leaf, app(leaf, app(node, _x72)))))app#(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x71), _x72)))))app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))
app#(app(mapt, _x31), app(node, app(app(cons, _x33), _x32)))app#(node, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x103), _x102))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x101), _x103)), app(app(maptlist, _x101), _x102))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x113), _x112)))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x111), _x113)), app(app(maptlist, _x111), _x112)))))))app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, nil)))))app#(leaf, app(leaf, app(leaf, app(leaf, nil))))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, cons, nil

Strategy


The right-hand side of the rule app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x142)))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x141), _x142)))))))) 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 TermsIrrelevant Terms
app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x151), _x153)), app(app(maptlist, _x151), _x152))))))))) 
app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, nil))))))) 
Thus, the rule app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x142)))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x141), _x142)))))))) is replaced by the following rules:
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x151))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, nil)))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, nil)))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x151))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, _x153), _x152))))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x151), _x153)), app(app(maptlist, _x151), _x152)))))))))

Problem 19: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x143), _x142))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x141), _x143)), app(app(maptlist, _x141), _x142))))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil)))))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)
app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, nil))))app#(leaf, app(leaf, app(leaf, nil)))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x151))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, _x153), _x152)))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x151), _x153)), app(app(maptlist, _x151), _x152)))))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, _x142))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x141, _x142))))))))app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62))))app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x102))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x101), _x102))))))app#(app(maptlist, _x61), app(app(cons, app(node, nil)), xs))app#(cons, app(node, nil))
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, nil))))app#(leaf, app(leaf, app(node, nil)))
app#(app(maptlist, _x31), app(app(cons, app(leaf, _x32)), xs))app#(cons, app(leaf, app(_x31, _x32)))app#(app(maptlist, _x61), app(app(cons, app(node, app(app(cons, _x63), _x62))), xs))app#(cons, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x151))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, nil))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, nil)))))))app#(app(mapt, app(mapt, _x61)), app(leaf, app(node, app(app(cons, _x63), _x62))))app#(leaf, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x112)))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x111), _x112)))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil)))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil))))))
app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(mapt, app(mapt, app(mapt, app(mapt, _x71)))), app(leaf, app(leaf, app(leaf, app(node, _x72)))))app#(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x71), _x72)))))
app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))app#(app(mapt, _x31), app(node, app(app(cons, _x33), _x32)))app#(node, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x113), _x112)))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x111), _x113)), app(app(maptlist, _x111), _x112)))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x103), _x102))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x101), _x103)), app(app(maptlist, _x101), _x102))))))
app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)app#(app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, nil)))))app#(leaf, app(leaf, app(leaf, app(leaf, nil))))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, nil, cons

Strategy


The right-hand side of the rule app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil)))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil))))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
Thus, the rule app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil)))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil))))) is deleted.

Problem 20: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x143), _x142))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x141), _x143)), app(app(maptlist, _x141), _x142))))))))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, nil))))app#(leaf, app(leaf, app(leaf, nil)))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x151))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, _x153), _x152)))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x151), _x153)), app(app(maptlist, _x151), _x152)))))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, _x142))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x141, _x142))))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x102))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x101), _x102))))))app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62))))app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(maptlist, _x61), app(app(cons, app(node, nil)), xs))app#(cons, app(node, nil))app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, nil))))app#(leaf, app(leaf, app(node, nil)))app#(app(maptlist, _x31), app(app(cons, app(leaf, _x32)), xs))app#(cons, app(leaf, app(_x31, _x32)))
app#(app(maptlist, _x61), app(app(cons, app(node, app(app(cons, _x63), _x62))), xs))app#(cons, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x151))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, nil))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, nil)))))))
app#(app(mapt, app(mapt, _x61)), app(leaf, app(node, app(app(cons, _x63), _x62))))app#(leaf, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x112)))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x111), _x112)))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil)))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil))))))app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, _x71)))), app(leaf, app(leaf, app(leaf, app(node, _x72)))))app#(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x71), _x72)))))app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))
app#(app(mapt, _x31), app(node, app(app(cons, _x33), _x32)))app#(node, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x113), _x112)))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x111), _x113)), app(app(maptlist, _x111), _x112)))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x103), _x102))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x101), _x103)), app(app(maptlist, _x101), _x102))))))app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, nil)))))app#(leaf, app(leaf, app(leaf, app(leaf, nil))))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, cons, nil

Strategy


The right-hand side of the rule app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, nil)))) → app#(leaf, app(leaf, app(leaf, nil))) is narrowed to the following relevant and irrelevant terms (a narrowing is irrelevant if by dropping it the correctness (and completeness) of the processor is not influenced).
Relevant TermsIrrelevant Terms
Thus, the rule app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, nil)))) → app#(leaf, app(leaf, app(leaf, nil))) is deleted.

Problem 21: ForwardNarrowing



Dependency Pair Problem

Dependency Pairs

app#(app(mapt, f), app(leaf, x))app#(f, x)app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x231)))))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, _x232)))))))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x231, _x232)))))))))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x221))))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x223), _x222))))))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x221), _x223)), app(app(maptlist, _x221), _x222))))))))))))app#(app(maptlist, app(mapt, _x71)), app(app(cons, app(leaf, app(node, app(app(cons, _x73), _x72)))), xs))app#(cons, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))
app#(app(mapt, f), app(node, xs))app#(app(maptlist, f), xs)app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x141))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x143), _x142))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x141), _x143)), app(app(maptlist, _x141), _x142))))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x221)))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, _x223), _x222))))))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x221), _x223)), app(app(maptlist, _x221), _x222))))))))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, _x101)))), app(leaf, app(leaf, app(leaf, app(node, app(app(cons, _x103), _x102))))))app#(leaf, app(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x101), _x103)), app(app(maptlist, _x101), _x102))))))
app#(app(maptlist, f), app(app(cons, x), xs))app#(app(maptlist, f), xs)app#(app(maptlist, f), app(app(cons, x), xs))app#(app(mapt, f), x)
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x231)))))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil))))))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil)))))))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x151))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, _x153), _x152)))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x151), _x153)), app(app(maptlist, _x151), _x152)))))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x231)))))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x232)))))))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x231), _x232)))))))))))))app#(app(maptlist, app(maptlist, _x61)), app(app(cons, app(leaf, app(app(cons, _x63), _x62))), xs))app#(cons, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(mapt, app(mapt, app(maptlist, _x61))), app(leaf, app(leaf, app(app(cons, _x63), _x62))))app#(leaf, app(leaf, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x141)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, _x143), _x142))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x141), _x143)), app(app(maptlist, _x141), _x142))))))))
app#(app(mapt, app(mapt, app(mapt, _x71))), app(leaf, app(leaf, app(node, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(maptlist, _x61), app(app(cons, app(node, app(app(cons, _x63), _x62))), xs))app#(cons, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))
app#(app(maptlist, app(mapt, app(maptlist, _x71))), app(app(cons, app(leaf, app(leaf, app(app(cons, _x73), _x72)))), xs))app#(cons, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(maptlist, app(mapt, app(mapt, _x101))), app(app(cons, app(leaf, app(leaf, app(node, app(app(cons, _x103), _x102))))), xs))app#(cons, app(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x101), _x103)), app(app(maptlist, _x101), _x102))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x151)))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x153), _x152)))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x151), _x153)), app(app(maptlist, _x151), _x152)))))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x181))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x183), _x182))))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x181), _x183)), app(app(maptlist, _x181), _x182))))))))))
app#(app(mapt, app(mapt, _x61)), app(leaf, app(node, app(app(cons, _x63), _x62))))app#(leaf, app(node, app(app(cons, app(app(mapt, _x61), _x63)), app(app(maptlist, _x61), _x62))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x231)))))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x233), _x232)))))))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x231), _x233)), app(app(maptlist, _x231), _x232)))))))))))))
app#(app(mapt, app(mapt, app(mapt, app(maptlist, _x71)))), app(leaf, app(leaf, app(leaf, app(app(cons, _x73), _x72)))))app#(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x71), _x73)), app(app(maptlist, _x71), _x72)))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x191)))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x193), _x192)))))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x191), _x193)), app(app(maptlist, _x191), _x192)))))))))))
app#(app(mapt, app(maptlist, _x31)), app(leaf, app(app(cons, _x33), _x32)))app#(leaf, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x181)))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, _x183), _x182))))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x181), _x183)), app(app(maptlist, _x181), _x182))))))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x221))))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x222))))))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x221), _x222))))))))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x191))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, _x193), _x192)))))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x191), _x193)), app(app(maptlist, _x191), _x192)))))))))))
app#(app(mapt, _x31), app(node, app(app(cons, _x33), _x32)))app#(node, app(app(cons, app(app(mapt, _x31), _x33)), app(app(maptlist, _x31), _x32)))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x111))))), app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, _x113), _x112)))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(cons, app(app(mapt, _x111), _x113)), app(app(maptlist, _x111), _x112)))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x111)))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x113), _x112)))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x111), _x113)), app(app(maptlist, _x111), _x112)))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x103), _x102))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x101), _x103)), app(app(maptlist, _x101), _x102))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x191)))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil))))))))))app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil)))))))))app#(app(maptlist, app(mapt, app(maptlist, _x71))), app(app(cons, app(leaf, app(leaf, nil))), xs))app#(cons, app(leaf, app(leaf, nil)))
app#(app(maptlist, app(mapt, app(mapt, _x71))), app(app(cons, app(leaf, app(leaf, app(leaf, _x72)))), xs))app#(cons, app(leaf, app(leaf, app(leaf, app(_x71, _x72)))))app#(app(mapt, app(maptlist, _x31)), app(leaf, nil))app#(leaf, nil)
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x101))))), app(leaf, app(leaf, app(leaf, app(leaf, nil)))))app#(leaf, app(leaf, app(leaf, app(leaf, nil))))app#(app(maptlist, f), app(app(cons, x), xs))app#(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))
app#(app(maptlist, app(mapt, _x71)), app(app(cons, app(leaf, app(node, nil))), xs))app#(cons, app(leaf, app(node, nil)))

Rewrite Rules

app(app(mapt, f), app(leaf, x))app(leaf, app(f, x))app(app(mapt, f), app(node, xs))app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil)nilapp(app(maptlist, f), app(app(cons, x), xs))app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))

Original Signature

Termination of terms over the following signature is verified: app, node, maptlist, mapt, leaf, nil, cons

Strategy


The right-hand side of the rule app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x231)))))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, _x232))))))))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x231, _x232))))))))))))) 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 TermsIrrelevant Terms
app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x261), _x263)), app(app(maptlist, _x261), _x262)))))))))))))) 
app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil)))))))))))) 
app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x261), _x262)))))))))))))) 
app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x261, _x262)))))))))))))) 
Thus, the rule app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x231)))))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, _x232))))))))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x231, _x232))))))))))))) is replaced by the following rules:
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x261))))))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil))))))))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, nil))))))))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(maptlist, _x261))))))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, _x263), _x262)))))))))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(app(cons, app(app(mapt, _x261), _x263)), app(app(maptlist, _x261), _x262))))))))))))))
app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x261))))))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, _x262)))))))))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(node, app(app(maptlist, _x261), _x262))))))))))))))app#(app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, app(mapt, _x261))))))))))))), app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, _x262)))))))))))))) → app#(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(leaf, app(_x261, _x262))))))))))))))