R
↳Dependency Pair Analysis
APP(app(app(fold, f), app(app(cons, h), t)), x) -> APP(app(app(fold, f), t), app(app(f, x), h))
APP(app(app(fold, f), app(app(cons, h), t)), x) -> APP(app(fold, f), t)
APP(app(app(fold, f), app(app(cons, h), t)), x) -> APP(app(f, x), h)
APP(app(app(fold, f), app(app(cons, h), t)), x) -> APP(f, x)
APP(sum, l) -> APP(app(app(fold, add), l), 0)
APP(sum, l) -> APP(app(fold, add), l)
APP(sum, l) -> APP(fold, add)
APP(app(app(fold, mul), l), 1) -> APP(prod, l)
R
↳DPs
→DP Problem 1
↳Narrowing Transformation
APP(sum, l) -> APP(app(fold, add), l)
APP(sum, l) -> APP(app(app(fold, add), l), 0)
APP(app(app(fold, f), app(app(cons, h), t)), x) -> APP(f, x)
APP(app(app(fold, f), app(app(cons, h), t)), x) -> APP(app(f, x), h)
APP(app(app(fold, f), app(app(cons, h), t)), x) -> APP(app(app(fold, f), t), app(app(f, x), h))
app(app(app(fold, f), nil), x) -> x
app(app(app(fold, f), app(app(cons, h), t)), x) -> app(app(app(fold, f), t), app(app(f, x), h))
app(sum, l) -> app(app(app(fold, add), l), 0)
app(app(app(fold, mul), l), 1) -> app(prod, l)
innermost
no new Dependency Pairs are created.
APP(sum, l) -> APP(app(fold, add), l)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Forward Instantiation Transformation
APP(app(app(fold, f), app(app(cons, h), t)), x) -> APP(f, x)
APP(app(app(fold, f), app(app(cons, h), t)), x) -> APP(app(f, x), h)
APP(app(app(fold, f), app(app(cons, h), t)), x) -> APP(app(app(fold, f), t), app(app(f, x), h))
APP(sum, l) -> APP(app(app(fold, add), l), 0)
app(app(app(fold, f), nil), x) -> x
app(app(app(fold, f), app(app(cons, h), t)), x) -> app(app(app(fold, f), t), app(app(f, x), h))
app(sum, l) -> app(app(app(fold, add), l), 0)
app(app(app(fold, mul), l), 1) -> app(prod, l)
innermost
two new Dependency Pairs are created:
APP(app(app(fold, f), app(app(cons, h), t)), x) -> APP(f, x)
APP(app(app(fold, app(app(fold, f''), app(app(cons, h''), t''))), app(app(cons, h), t)), x'') -> APP(app(app(fold, f''), app(app(cons, h''), t'')), x'')
APP(app(app(fold, sum), app(app(cons, h), t)), x') -> APP(sum, x')
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳FwdInst
...
→DP Problem 3
↳Remaining Obligation(s)
APP(app(app(fold, sum), app(app(cons, h), t)), x') -> APP(sum, x')
APP(app(app(fold, app(app(fold, f''), app(app(cons, h''), t''))), app(app(cons, h), t)), x'') -> APP(app(app(fold, f''), app(app(cons, h''), t'')), x'')
APP(sum, l) -> APP(app(app(fold, add), l), 0)
APP(app(app(fold, f), app(app(cons, h), t)), x) -> APP(app(app(fold, f), t), app(app(f, x), h))
APP(app(app(fold, f), app(app(cons, h), t)), x) -> APP(app(f, x), h)
app(app(app(fold, f), nil), x) -> x
app(app(app(fold, f), app(app(cons, h), t)), x) -> app(app(app(fold, f), t), app(app(f, x), h))
app(sum, l) -> app(app(app(fold, add), l), 0)
app(app(app(fold, mul), l), 1) -> app(prod, l)
innermost