R
↳Dependency Pair Analysis
APP(rev, app(app(cons, x), l)) -> APP(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
APP(rev, app(app(cons, x), l)) -> APP(cons, app(app(rev1, x), l))
APP(rev, app(app(cons, x), l)) -> APP(app(rev1, x), l)
APP(rev, app(app(cons, x), l)) -> APP(rev1, x)
APP(rev, app(app(cons, x), l)) -> APP(app(rev2, x), l)
APP(rev, app(app(cons, x), l)) -> APP(rev2, x)
APP(app(rev1, x), app(app(cons, y), l)) -> APP(app(rev1, y), l)
APP(app(rev1, x), app(app(cons, y), l)) -> APP(rev1, y)
APP(app(rev2, x), app(app(cons, y), l)) -> APP(rev, app(app(cons, x), app(app(rev2, y), l)))
APP(app(rev2, x), app(app(cons, y), l)) -> APP(app(cons, x), app(app(rev2, y), l))
APP(app(rev2, x), app(app(cons, y), l)) -> APP(cons, x)
APP(app(rev2, x), app(app(cons, y), l)) -> APP(app(rev2, y), l)
APP(app(rev2, x), app(app(cons, y), l)) -> APP(rev2, y)
R
↳DPs
→DP Problem 1
↳Narrowing Transformation
APP(app(rev2, x), app(app(cons, y), l)) -> APP(app(rev2, y), l)
APP(app(rev2, x), app(app(cons, y), l)) -> APP(app(cons, x), app(app(rev2, y), l))
APP(app(rev2, x), app(app(cons, y), l)) -> APP(rev, app(app(cons, x), app(app(rev2, y), l)))
APP(app(rev1, x), app(app(cons, y), l)) -> APP(app(rev1, y), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev2, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev1, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
app(rev, nil) -> nil
app(rev, app(app(cons, x), l)) -> app(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
app(app(rev1, 0), nil) -> 0
app(app(rev1, app(s, x)), nil) -> app(s, x)
app(app(rev1, x), app(app(cons, y), l)) -> app(app(rev1, y), l)
app(app(rev2, x), nil) -> nil
app(app(rev2, x), app(app(cons, y), l)) -> app(rev, app(app(cons, x), app(app(rev2, y), l)))
two new Dependency Pairs are created:
APP(app(rev2, x), app(app(cons, y), l)) -> APP(app(cons, x), app(app(rev2, y), l))
APP(app(rev2, x), app(app(cons, y'), nil)) -> APP(app(cons, x), nil)
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''), l''))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(rev2, y''), l''))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Narrowing Transformation
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''), l''))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(rev2, y''), l''))))
APP(app(rev2, x), app(app(cons, y), l)) -> APP(rev, app(app(cons, x), app(app(rev2, y), l)))
APP(app(rev1, x), app(app(cons, y), l)) -> APP(app(rev1, y), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev2, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev1, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
APP(app(rev2, x), app(app(cons, y), l)) -> APP(app(rev2, y), l)
app(rev, nil) -> nil
app(rev, app(app(cons, x), l)) -> app(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
app(app(rev1, 0), nil) -> 0
app(app(rev1, app(s, x)), nil) -> app(s, x)
app(app(rev1, x), app(app(cons, y), l)) -> app(app(rev1, y), l)
app(app(rev2, x), nil) -> nil
app(app(rev2, x), app(app(cons, y), l)) -> app(rev, app(app(cons, x), app(app(rev2, y), l)))
three new Dependency Pairs are created:
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''), l''))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(rev2, y''), l''))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y'''), l'''))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(app(rev2, y'''), l'''))), app(app(rev2, y0'), app(app(rev2, y'''), l'''))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), nil))) -> APP(app(cons, x), app(rev, app(app(cons, y0), nil)))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y'), l')))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(app(rev2, y'), l'))))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 3
↳Narrowing Transformation
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y'), l')))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(app(rev2, y'), l'))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), nil))) -> APP(app(cons, x), app(rev, app(app(cons, y0), nil)))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y'''), l'''))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(app(rev2, y'''), l'''))), app(app(rev2, y0'), app(app(rev2, y'''), l'''))))
APP(app(rev2, x), app(app(cons, y), l)) -> APP(app(rev2, y), l)
APP(app(rev1, x), app(app(cons, y), l)) -> APP(app(rev1, y), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev2, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev1, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
APP(app(rev2, x), app(app(cons, y), l)) -> APP(rev, app(app(cons, x), app(app(rev2, y), l)))
app(rev, nil) -> nil
app(rev, app(app(cons, x), l)) -> app(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
app(app(rev1, 0), nil) -> 0
app(app(rev1, app(s, x)), nil) -> app(s, x)
app(app(rev1, x), app(app(cons, y), l)) -> app(app(rev1, y), l)
app(app(rev2, x), nil) -> nil
app(app(rev2, x), app(app(cons, y), l)) -> app(rev, app(app(cons, x), app(app(rev2, y), l)))
one new Dependency Pair is created:
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), nil))) -> APP(app(cons, x), app(rev, app(app(cons, y0), nil)))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y'''), nil))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), nil)), app(app(rev2, y0'), nil)))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 4
↳Narrowing Transformation
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y'''), nil))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), nil)), app(app(rev2, y0'), nil)))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y'''), l'''))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(app(rev2, y'''), l'''))), app(app(rev2, y0'), app(app(rev2, y'''), l'''))))
APP(app(rev2, x), app(app(cons, y), l)) -> APP(app(rev2, y), l)
APP(app(rev2, x), app(app(cons, y), l)) -> APP(rev, app(app(cons, x), app(app(rev2, y), l)))
APP(app(rev1, x), app(app(cons, y), l)) -> APP(app(rev1, y), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev2, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev1, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y'), l')))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(app(rev2, y'), l'))))))
app(rev, nil) -> nil
app(rev, app(app(cons, x), l)) -> app(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
app(app(rev1, 0), nil) -> 0
app(app(rev1, app(s, x)), nil) -> app(s, x)
app(app(rev1, x), app(app(cons, y), l)) -> app(app(rev1, y), l)
app(app(rev2, x), nil) -> nil
app(app(rev2, x), app(app(cons, y), l)) -> app(rev, app(app(cons, x), app(app(rev2, y), l)))
four new Dependency Pairs are created:
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y'), l')))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(app(rev2, y'), l'))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''), l'')))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), app(app(rev2, y''), l''))))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), app(app(rev2, y''), l''))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''), l'')))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), app(app(rev2, y''), l''))), app(app(rev2, y''''), app(app(rev2, y''), l''))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), nil)))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), nil)))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1), l''))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), app(app(rev2, y1), l''))))))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 5
↳Narrowing Transformation
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1), l''))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), app(app(rev2, y1), l''))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), nil)))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), nil)))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''), l'')))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), app(app(rev2, y''), l''))), app(app(rev2, y''''), app(app(rev2, y''), l''))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''), l'')))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), app(app(rev2, y''), l''))))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), app(app(rev2, y''), l''))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y'''), l'''))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(app(rev2, y'''), l'''))), app(app(rev2, y0'), app(app(rev2, y'''), l'''))))
APP(app(rev2, x), app(app(cons, y), l)) -> APP(app(rev2, y), l)
APP(app(rev2, x), app(app(cons, y), l)) -> APP(rev, app(app(cons, x), app(app(rev2, y), l)))
APP(app(rev1, x), app(app(cons, y), l)) -> APP(app(rev1, y), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev2, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev1, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y'''), nil))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), nil)), app(app(rev2, y0'), nil)))
app(rev, nil) -> nil
app(rev, app(app(cons, x), l)) -> app(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
app(app(rev1, 0), nil) -> 0
app(app(rev1, app(s, x)), nil) -> app(s, x)
app(app(rev1, x), app(app(cons, y), l)) -> app(app(rev1, y), l)
app(app(rev2, x), nil) -> nil
app(app(rev2, x), app(app(cons, y), l)) -> app(rev, app(app(cons, x), app(app(rev2, y), l)))
two new Dependency Pairs are created:
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), nil)))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), nil)))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''), nil)))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), nil)))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), nil)))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''), nil)))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), nil)), app(app(rev2, y''''), nil)))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 6
↳Narrowing Transformation
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''), nil)))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), nil)), app(app(rev2, y''''), nil)))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''), nil)))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), nil)))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), nil)))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''), l'')))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), app(app(rev2, y''), l''))), app(app(rev2, y''''), app(app(rev2, y''), l''))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''), l'')))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), app(app(rev2, y''), l''))))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), app(app(rev2, y''), l''))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y'''), nil))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), nil)), app(app(rev2, y0'), nil)))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y'''), l'''))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(app(rev2, y'''), l'''))), app(app(rev2, y0'), app(app(rev2, y'''), l'''))))
APP(app(rev2, x), app(app(cons, y), l)) -> APP(app(rev2, y), l)
APP(app(rev2, x), app(app(cons, y), l)) -> APP(rev, app(app(cons, x), app(app(rev2, y), l)))
APP(app(rev1, x), app(app(cons, y), l)) -> APP(app(rev1, y), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev2, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev1, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1), l''))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), app(app(rev2, y1), l''))))))))
app(rev, nil) -> nil
app(rev, app(app(cons, x), l)) -> app(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
app(app(rev1, 0), nil) -> 0
app(app(rev1, app(s, x)), nil) -> app(s, x)
app(app(rev1, x), app(app(cons, y), l)) -> app(app(rev1, y), l)
app(app(rev2, x), nil) -> nil
app(app(rev2, x), app(app(cons, y), l)) -> app(rev, app(app(cons, x), app(app(rev2, y), l)))
five new Dependency Pairs are created:
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1), l''))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), app(app(rev2, y1), l''))))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1'), l'''))))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), app(app(rev2, y1'), l'''))))))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), app(app(rev2, y1'), l'''))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1'), l'''))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), app(rev, app(app(cons, y''0), app(app(rev2, y1'), l'''))))), app(app(rev2, y''''), app(rev, app(app(cons, y''0), app(app(rev2, y1'), l'''))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''''), app(app(cons, y1'), l'''))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(app(cons, app(app(rev1, y''''), app(app(rev2, y1'), l'''))), app(app(rev2, y''''), app(app(rev2, y1'), l'''))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1'), nil))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), nil)))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1'), app(app(cons, y'), l')))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), app(rev, app(app(cons, y1'), app(app(rev2, y'), l'))))))))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 7
↳Narrowing Transformation
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1'), app(app(cons, y'), l')))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), app(rev, app(app(cons, y1'), app(app(rev2, y'), l'))))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1'), nil))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), nil)))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''''), app(app(cons, y1'), l'''))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(app(cons, app(app(rev1, y''''), app(app(rev2, y1'), l'''))), app(app(rev2, y''''), app(app(rev2, y1'), l'''))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1'), l'''))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), app(rev, app(app(cons, y''0), app(app(rev2, y1'), l'''))))), app(app(rev2, y''''), app(rev, app(app(cons, y''0), app(app(rev2, y1'), l'''))))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1'), l'''))))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), app(app(rev2, y1'), l'''))))))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), app(app(rev2, y1'), l'''))))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''), nil)))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), nil)))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), nil)))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''), l'')))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), app(app(rev2, y''), l''))), app(app(rev2, y''''), app(app(rev2, y''), l''))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''), l'')))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), app(app(rev2, y''), l''))))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), app(app(rev2, y''), l''))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y'''), nil))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), nil)), app(app(rev2, y0'), nil)))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y'''), l'''))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(app(rev2, y'''), l'''))), app(app(rev2, y0'), app(app(rev2, y'''), l'''))))
APP(app(rev2, x), app(app(cons, y), l)) -> APP(app(rev2, y), l)
APP(app(rev2, x), app(app(cons, y), l)) -> APP(rev, app(app(cons, x), app(app(rev2, y), l)))
APP(app(rev1, x), app(app(cons, y), l)) -> APP(app(rev1, y), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev2, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev1, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''), nil)))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), nil)), app(app(rev2, y''''), nil)))))
app(rev, nil) -> nil
app(rev, app(app(cons, x), l)) -> app(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
app(app(rev1, 0), nil) -> 0
app(app(rev1, app(s, x)), nil) -> app(s, x)
app(app(rev1, x), app(app(cons, y), l)) -> app(app(rev1, y), l)
app(app(rev2, x), nil) -> nil
app(app(rev2, x), app(app(cons, y), l)) -> app(rev, app(app(cons, x), app(app(rev2, y), l)))
three new Dependency Pairs are created:
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1'), nil))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), nil)))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1'), nil))))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), nil)))))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), nil)))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1'), nil))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), app(rev, app(app(cons, y''0), nil)))), app(app(rev2, y''''), app(rev, app(app(cons, y''0), nil)))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''''), app(app(cons, y1'), nil))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(app(cons, app(app(rev1, y''''), nil)), app(app(rev2, y''''), nil)))))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 8
↳Narrowing Transformation
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''''), app(app(cons, y1'), nil))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(app(cons, app(app(rev1, y''''), nil)), app(app(rev2, y''''), nil)))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1'), nil))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), app(rev, app(app(cons, y''0), nil)))), app(app(rev2, y''''), app(rev, app(app(cons, y''0), nil)))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1'), nil))))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), nil)))))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), nil)))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''''), app(app(cons, y1'), l'''))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(app(cons, app(app(rev1, y''''), app(app(rev2, y1'), l'''))), app(app(rev2, y''''), app(app(rev2, y1'), l'''))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1'), l'''))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), app(rev, app(app(cons, y''0), app(app(rev2, y1'), l'''))))), app(app(rev2, y''''), app(rev, app(app(cons, y''0), app(app(rev2, y1'), l'''))))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1'), l'''))))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), app(app(rev2, y1'), l'''))))))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), app(app(rev2, y1'), l'''))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''), nil)))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), nil)), app(app(rev2, y''''), nil)))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''), nil)))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), nil)))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), nil)))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''), l'')))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), app(app(rev2, y''), l''))), app(app(rev2, y''''), app(app(rev2, y''), l''))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''), l'')))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), app(app(rev2, y''), l''))))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), app(app(rev2, y''), l''))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y'''), nil))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), nil)), app(app(rev2, y0'), nil)))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y'''), l'''))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(app(rev2, y'''), l'''))), app(app(rev2, y0'), app(app(rev2, y'''), l'''))))
APP(app(rev2, x), app(app(cons, y), l)) -> APP(app(rev2, y), l)
APP(app(rev2, x), app(app(cons, y), l)) -> APP(rev, app(app(cons, x), app(app(rev2, y), l)))
APP(app(rev1, x), app(app(cons, y), l)) -> APP(app(rev1, y), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev2, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev1, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1'), app(app(cons, y'), l')))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), app(rev, app(app(cons, y1'), app(app(rev2, y'), l'))))))))))
app(rev, nil) -> nil
app(rev, app(app(cons, x), l)) -> app(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
app(app(rev1, 0), nil) -> 0
app(app(rev1, app(s, x)), nil) -> app(s, x)
app(app(rev1, x), app(app(cons, y), l)) -> app(app(rev1, y), l)
app(app(rev2, x), nil) -> nil
app(app(rev2, x), app(app(cons, y), l)) -> app(rev, app(app(cons, x), app(app(rev2, y), l)))
six new Dependency Pairs are created:
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1'), app(app(cons, y'), l')))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), app(rev, app(app(cons, y1'), app(app(rev2, y'), l'))))))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1''), app(app(cons, y'0), l'')))))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), app(rev, app(app(cons, y1''), app(app(rev2, y'0), l''))))))))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), app(rev, app(app(cons, y1''), app(app(rev2, y'0), l''))))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1''), app(app(cons, y'0), l'')))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), app(rev, app(app(cons, y''0), app(rev, app(app(cons, y1''), app(app(rev2, y'0), l''))))))), app(app(rev2, y''''), app(rev, app(app(cons, y''0), app(rev, app(app(cons, y1''), app(app(rev2, y'0), l''))))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''''), app(app(cons, y1''), app(app(cons, y'0), l'')))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(app(cons, app(app(rev1, y''''), app(rev, app(app(cons, y1''), app(app(rev2, y'0), l''))))), app(app(rev2, y''''), app(rev, app(app(cons, y1''), app(app(rev2, y'0), l''))))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1''), app(app(cons, y'0), l'')))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), app(app(cons, app(app(rev1, y1''), app(app(rev2, y'0), l''))), app(app(rev2, y1''), app(app(rev2, y'0), l''))))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1'), app(app(cons, y'0), nil)))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), app(rev, app(app(cons, y1'), nil)))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1'), app(app(cons, y'0), app(app(cons, y1), l''))))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), app(rev, app(app(cons, y1'), app(rev, app(app(cons, y'0), app(app(rev2, y1), l''))))))))))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 9
↳Remaining Obligation(s)
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1'), app(app(cons, y'0), app(app(cons, y1), l''))))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), app(rev, app(app(cons, y1'), app(rev, app(app(cons, y'0), app(app(rev2, y1), l''))))))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1'), app(app(cons, y'0), nil)))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), app(rev, app(app(cons, y1'), nil)))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''), app(app(cons, y1''), app(app(cons, y'0), l'')))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(rev, app(app(cons, y''), app(app(cons, app(app(rev1, y1''), app(app(rev2, y'0), l''))), app(app(rev2, y1''), app(app(rev2, y'0), l''))))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''''), app(app(cons, y1''), app(app(cons, y'0), l'')))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(app(cons, app(app(rev1, y''''), app(rev, app(app(cons, y1''), app(app(rev2, y'0), l''))))), app(app(rev2, y''''), app(rev, app(app(cons, y1''), app(app(rev2, y'0), l''))))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1''), app(app(cons, y'0), l'')))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), app(rev, app(app(cons, y''0), app(rev, app(app(cons, y1''), app(app(rev2, y'0), l''))))))), app(app(rev2, y''''), app(rev, app(app(cons, y''0), app(rev, app(app(cons, y1''), app(app(rev2, y'0), l''))))))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1''), app(app(cons, y'0), l'')))))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), app(rev, app(app(cons, y1''), app(app(rev2, y'0), l''))))))))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), app(rev, app(app(cons, y1''), app(app(rev2, y'0), l''))))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1'), nil))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), app(rev, app(app(cons, y''0), nil)))), app(app(rev2, y''''), app(rev, app(app(cons, y''0), nil)))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1'), nil))))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), nil)))))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), nil)))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''''), app(app(cons, y1'), l'''))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(app(cons, app(app(rev1, y''''), app(app(rev2, y1'), l'''))), app(app(rev2, y''''), app(app(rev2, y1'), l'''))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1'), l'''))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), app(rev, app(app(cons, y''0), app(app(rev2, y1'), l'''))))), app(app(rev2, y''''), app(rev, app(app(cons, y''0), app(app(rev2, y1'), l'''))))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''0), app(app(cons, y1'), l'''))))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), app(app(rev2, y1'), l'''))))))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), app(rev, app(app(cons, y''0), app(app(rev2, y1'), l'''))))))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''), nil)))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), nil)), app(app(rev2, y''''), nil)))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''), nil)))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), nil)))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), nil)))))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y''''), app(app(cons, y''), l'')))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(app(cons, app(app(rev1, y''''), app(app(rev2, y''), l''))), app(app(rev2, y''''), app(app(rev2, y''), l''))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y''''), app(app(cons, y''), l'')))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(rev, app(app(cons, y''''), app(app(rev2, y''), l''))))), app(app(rev2, y0'), app(rev, app(app(cons, y''''), app(app(rev2, y''), l''))))))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y'''), nil))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), nil)), app(app(rev2, y0'), nil)))
APP(app(rev2, x), app(app(cons, y0'), app(app(cons, y'''), l'''))) -> APP(app(cons, x), app(app(cons, app(app(rev1, y0'), app(app(rev2, y'''), l'''))), app(app(rev2, y0'), app(app(rev2, y'''), l'''))))
APP(app(rev2, x), app(app(cons, y), l)) -> APP(app(rev2, y), l)
APP(app(rev2, x), app(app(cons, y), l)) -> APP(rev, app(app(cons, x), app(app(rev2, y), l)))
APP(app(rev1, x), app(app(cons, y), l)) -> APP(app(rev1, y), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev2, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(rev1, x), l)
APP(rev, app(app(cons, x), l)) -> APP(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
APP(app(rev2, x), app(app(cons, y0), app(app(cons, y'''), app(app(cons, y''''), app(app(cons, y1'), nil))))) -> APP(app(cons, x), app(rev, app(app(cons, y0), app(rev, app(app(cons, y'''), app(app(cons, app(app(rev1, y''''), nil)), app(app(rev2, y''''), nil)))))))
app(rev, nil) -> nil
app(rev, app(app(cons, x), l)) -> app(app(cons, app(app(rev1, x), l)), app(app(rev2, x), l))
app(app(rev1, 0), nil) -> 0
app(app(rev1, app(s, x)), nil) -> app(s, x)
app(app(rev1, x), app(app(cons, y), l)) -> app(app(rev1, y), l)
app(app(rev2, x), nil) -> nil
app(app(rev2, x), app(app(cons, y), l)) -> app(rev, app(app(cons, x), app(app(rev2, y), l)))