inc# | → | app#(s, 0) | | app#(app(times, app(s, x)), y) | → | app#(app(plus, app(app(times, x), y)), y) |
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(app(curry, g), x), y) | → | app#(g, x) | | app#(app(plus, app(s, x)), y) | → | app#(plus, x) |
inc# | → | app#(curry, plus) | | app#(app(map, f), app(app(cons, x), xs)) | → | app#(app(map, f), xs) |
app#(app(times, app(s, x)), y) | → | app#(plus, app(app(times, x), y)) | | app#(app(app(curry, g), x), y) | → | app#(app(g, x), y) |
double# | → | app#(curry, times) | | double# | → | app#(app(curry, times), app(s, app(s, 0))) |
app#(app(times, app(s, x)), y) | → | app#(times, x) | | app#(app(plus, app(s, x)), y) | → | app#(s, app(app(plus, x), y)) |
inc# | → | app#(map, app(app(curry, plus), app(s, 0))) | | double# | → | app#(s, app(s, 0)) |
double# | → | app#(s, 0) | | app#(app(times, app(s, x)), y) | → | app#(app(times, x), y) |
inc# | → | app#(app(curry, plus), app(s, 0)) | | app#(app(plus, app(s, x)), y) | → | app#(app(plus, x), y) |
double# | → | app#(map, app(app(curry, times), app(s, app(s, 0)))) | | 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(plus, 0), y) | → | y | | app(app(plus, app(s, x)), y) | → | app(s, app(app(plus, x), y)) |
app(app(times, 0), y) | → | 0 | | app(app(times, app(s, x)), y) | → | app(app(plus, app(app(times, x), y)), y) |
app(app(app(curry, g), x), y) | → | app(app(g, x), y) | | app(app(map, f), nil) | → | nil |
app(app(map, f), app(app(cons, x), xs)) | → | app(app(cons, app(f, x)), app(app(map, f), xs)) | | inc | → | app(map, app(app(curry, plus), app(s, 0))) |
double | → | app(map, app(app(curry, times), app(s, app(s, 0)))) |
app#(app(times, app(s, x)), y) → app#(app(plus, app(app(times, x), y)), y) | 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(app(curry, g), x), y) → app#(g, x) |
app#(app(plus, app(s, x)), y) → app#(plus, x) | app#(app(map, f), app(app(cons, x), xs)) → app#(app(map, f), xs) |
app#(app(times, app(s, x)), y) → app#(plus, app(app(times, x), y)) | app#(app(app(curry, g), x), y) → app#(app(g, x), y) |
app#(app(times, app(s, x)), y) → app#(times, x) | app#(app(plus, app(s, x)), y) → app#(s, app(app(plus, x), y)) |
app#(app(times, app(s, x)), y) → app#(app(times, x), y) | app#(app(plus, app(s, x)), y) → app#(app(plus, x), y) |
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)) |