TIMEOUT
The TRS could not be proven terminating. The proof attempt took 60048 ms.
Problem 1 was processed with processor ForwardNarrowing (6ms). | Problem 2 was processed with processor ForwardNarrowing (1ms). | | Problem 3 was processed with processor ForwardNarrowing (7ms). | | | Problem 4 was processed with processor ForwardNarrowing (7ms). | | | | Problem 5 was processed with processor ForwardNarrowing (9ms). | | | | | Problem 6 was processed with processor ForwardNarrowing (10ms). | | | | | | Problem 7 was processed with processor ForwardNarrowing (15ms). | | | | | | | Problem 8 was processed with processor ForwardNarrowing (10ms). | | | | | | | | Problem 9 was processed with processor ForwardNarrowing (16ms). | | | | | | | | | Problem 10 was processed with processor ForwardNarrowing (13ms). | | | | | | | | | | Problem 11 was processed with processor ForwardNarrowing (12ms). | | | | | | | | | | | Problem 12 was processed with processor ForwardNarrowing (10ms). | | | | | | | | | | | | Problem 13 was processed with processor ForwardNarrowing (10ms). | | | | | | | | | | | | | Problem 14 was processed with processor ForwardNarrowing (12ms). | | | | | | | | | | | | | | Problem 15 was processed with processor ForwardNarrowing (13ms). | | | | | | | | | | | | | | | Problem 16 was processed with processor ForwardNarrowing (13ms). | | | | | | | | | | | | | | | | Problem 17 was processed with processor ForwardNarrowing (12ms). | | | | | | | | | | | | | | | | | Problem 18 was processed with processor ForwardNarrowing (14ms). | | | | | | | | | | | | | | | | | | Problem 19 was processed with processor ForwardNarrowing (47ms). | | | | | | | | | | | | | | | | | | | Problem 20 was processed with processor ForwardNarrowing (45ms). | | | | | | | | | | | | | | | | | | | | Problem 21 was processed with processor ForwardNarrowing (11ms). | | | | | | | | | | | | | | | | | | | | | Problem 22 was processed with processor ForwardNarrowing (16ms). | | | | | | | | | | | | | | | | | | | | | | Problem 23 was processed with processor ForwardNarrowing (26ms). | | | | | | | | | | | | | | | | | | | | | | | Problem 24 was processed with processor ForwardNarrowing (65ms). | | | | | | | | | | | | | | | | | | | | | | | | Problem 25 was processed with processor ForwardNarrowing (36ms). | | | | | | | | | | | | | | | | | | | | | | | | | Problem 26 was processed with processor ForwardNarrowing (97ms). | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 27 was processed with processor ForwardNarrowing (103ms). | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 28 was processed with processor ForwardNarrowing (101ms). | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 29 was processed with processor ForwardNarrowing (71ms). | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem 30 remains open; application of the following processors failed [ForwardNarrowing (69ms), ForwardNarrowing (56ms), ForwardNarrowing (49ms), ForwardNarrowing (53ms), ForwardNarrowing (timeout)].
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(f, 0), n) | → | app#(map, f) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | app#(app(f, 0), n) | → | app#(cons, 0) | |
app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, cons, nil
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(f, 0), n) | → | app#(map, f) | app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | |
app#(app(f, 0), n) | → | app#(cons, 0) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(cons, 0), nil))), n) |
app#(app(f, 0), n) → app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(_x41, 0), n) → app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(cons, 0), nil))), n) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | |
app#(app(f, 0), n) | → | app#(map, f) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(cons, 0), nil))), n) | |
app#(app(f, 0), n) | → | app#(cons, 0) | app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, cons, nil
Relevant Terms | Irrelevant Terms |
---|
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(cons, 0), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | app#(app(f, 0), n) | → | app#(cons, 0) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(f, 0), n) | → | app#(cons, 0) | |
app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, cons, nil
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(f, 0), n) | → | app#(cons, 0) | |
app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | |
app#(app(f, 0), n) | → | app#(cons, 0) | app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, cons, nil
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | |
app#(app(f, 0), n) | → | app#(cons, 0) | app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(f, 0), n) | → | app#(cons, 0) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, cons, nil
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(f, 0), n) | → | app#(cons, 0) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | |
app#(app(f, 0), n) | → | app#(cons, 0) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, cons, nil
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | |
app#(app(f, 0), n) | → | app#(cons, 0) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(f, 0), n) | → | app#(cons, 0) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, cons, nil
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | |
app#(app(f, 0), n) | → | app#(cons, 0) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | |
app#(app(f, 0), n) | → | app#(cons, 0) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, cons, nil
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | |
app#(app(f, 0), n) | → | app#(cons, 0) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | |
app#(app(f, 0), n) | → | app#(cons, 0) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, cons, nil
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | |
app#(app(f, 0), n) | → | app#(cons, 0) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(f, 0), n) | → | app#(cons, 0) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, cons, nil
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(f, 0), n) | → | app#(cons, 0) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | |
app#(app(f, 0), n) | → | app#(cons, 0) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, cons, nil
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(map, f) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(cons, app(f, x)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(map, app(map, _x31)), app(app(cons, nil), xs)) | → | app#(cons, nil) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(map, app(_x31, 0)), app(app(cons, _x32), xs)) | → | app#(cons, app(app(hd, app(app(map, _x31), app(app(cons, 0), nil))), _x32)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | |
app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(map, app(_x31, 0)), app(app(cons, _x32), xs)) | → | app#(cons, app(app(hd, app(app(map, _x31), app(app(cons, 0), nil))), _x32)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(map, app(_x31, 0)), app(app(cons, _x32), xs)) | → | app#(cons, app(app(hd, app(app(map, _x31), app(app(cons, 0), nil))), _x32)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) |
app#(app(f, 0), n) | → | app#(app(cons, 0), nil) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) | app#(app(map, app(map, _x31)), app(app(cons, app(app(cons, _x33), _x32)), xs)) | → | app#(cons, app(app(cons, app(_x31, _x33)), app(app(map, _x31), _x32))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(_x41, 0), n) | → | app#(app(hd, app(app(cons, app(_x41, 0)), app(app(map, _x41), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(map, f), app(app(cons, 0), nil)) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(f, 0), n) | → | app#(hd, app(app(map, f), app(app(cons, 0), nil))) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(f, 0), n) | → | app#(app(hd, app(app(map, f), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(map, app(_x31, 0)), app(app(cons, _x32), xs)) | → | app#(cons, app(app(hd, app(app(map, _x31), app(app(cons, 0), nil))), _x32)) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(cons, app(f, x)), app(app(map, f), xs)) | app#(app(map, f), app(app(cons, x), xs)) | → | app#(f, x) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), app(app(map, map), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(cons, 0), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(cons, app(map, 0)), nil)), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(cons, 0), nil))), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), n) | |
app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), n) | app#(app(0, 0), n) | → | app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), n) |
app(app(f, 0), n) | → | app(app(hd, app(app(map, f), app(app(cons, 0), nil))), n) | app(app(map, f), nil) | → | nil | |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) |
Termination of terms over the following signature is verified: app, 0, map, hd, nil, cons
Relevant Terms | Irrelevant Terms |
---|---|
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | |
app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) |
app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(cons, 0), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) | app#(app(0, 0), n) → app#(app(hd, app(app(hd, app(app(map, map), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), app(app(map, cons), nil))), nil))), nil))), nil))), nil))), nil))), nil))), nil))), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(map, cons), app(app(hd, app(app(cons, app(cons, 0)), nil)), nil))), nil))), nil))), nil))), n) |