R
↳Dependency Pair Analysis
APP(app(minus, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(minus, app(s, x)), app(s, y)) -> APP(minus, x)
APP(app(quot, app(s, x)), app(s, y)) -> APP(s, app(app(quot, app(app(minus, x), y)), app(s, y)))
APP(app(quot, app(s, x)), app(s, y)) -> APP(app(quot, app(app(minus, x), y)), app(s, y))
APP(app(quot, app(s, x)), app(s, y)) -> APP(quot, app(app(minus, x), y))
APP(app(quot, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(quot, app(s, x)), app(s, y)) -> APP(minus, x)
APP(app(plus, app(s, x)), y) -> APP(s, app(app(plus, x), y))
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), y)
APP(app(plus, app(s, x)), y) -> APP(plus, x)
APP(app(plus, app(app(minus, x), app(s, 0))), app(app(minus, y), app(s, app(s, z)))) -> APP(app(plus, app(app(minus, y), app(s, app(s, z)))), app(app(minus, x), app(s, 0)))
APP(app(plus, app(app(minus, x), app(s, 0))), app(app(minus, y), app(s, app(s, z)))) -> APP(plus, app(app(minus, y), app(s, app(s, z))))
APP(app(plus, app(app(plus, x), app(s, 0))), app(app(plus, y), app(s, app(s, z)))) -> APP(app(plus, app(app(plus, y), app(s, app(s, z)))), app(app(plus, x), app(s, 0)))
APP(app(plus, app(app(plus, x), app(s, 0))), app(app(plus, y), app(s, app(s, z)))) -> APP(plus, app(app(plus, y), app(s, app(s, z))))
R
↳DPs
→DP Problem 1
↳Narrowing Transformation
APP(app(plus, app(app(plus, x), app(s, 0))), app(app(plus, y), app(s, app(s, z)))) -> APP(app(plus, app(app(plus, y), app(s, app(s, z)))), app(app(plus, x), app(s, 0)))
APP(app(plus, app(app(minus, x), app(s, 0))), app(app(minus, y), app(s, app(s, z)))) -> APP(app(plus, app(app(minus, y), app(s, app(s, z)))), app(app(minus, x), app(s, 0)))
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), y)
APP(app(quot, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(quot, app(s, x)), app(s, y)) -> APP(app(quot, app(app(minus, x), y)), app(s, y))
APP(app(minus, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
app(app(minus, x), 0) -> x
app(app(minus, app(s, x)), app(s, y)) -> app(app(minus, x), y)
app(app(quot, 0), app(s, y)) -> 0
app(app(quot, app(s, x)), app(s, y)) -> app(s, app(app(quot, app(app(minus, x), y)), app(s, y)))
app(app(plus, 0), y) -> y
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(plus, app(app(minus, x), app(s, 0))), app(app(minus, y), app(s, app(s, z)))) -> app(app(plus, app(app(minus, y), app(s, app(s, z)))), app(app(minus, x), app(s, 0)))
app(app(plus, app(app(plus, x), app(s, 0))), app(app(plus, y), app(s, app(s, z)))) -> app(app(plus, app(app(plus, y), app(s, app(s, z)))), app(app(plus, x), app(s, 0)))
two new Dependency Pairs are created:
APP(app(plus, app(app(minus, x), app(s, 0))), app(app(minus, y), app(s, app(s, z)))) -> APP(app(plus, app(app(minus, y), app(s, app(s, z)))), app(app(minus, x), app(s, 0)))
APP(app(plus, app(app(minus, x), app(s, 0))), app(app(minus, app(s, x'')), app(s, app(s, z')))) -> APP(app(plus, app(app(minus, x''), app(s, z'))), app(app(minus, x), app(s, 0)))
APP(app(plus, app(app(minus, app(s, x'')), app(s, 0))), app(app(minus, y), app(s, app(s, z)))) -> APP(app(plus, app(app(minus, y), app(s, app(s, z)))), app(app(minus, x''), 0))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Narrowing Transformation
APP(app(plus, app(app(minus, app(s, x'')), app(s, 0))), app(app(minus, y), app(s, app(s, z)))) -> APP(app(plus, app(app(minus, y), app(s, app(s, z)))), app(app(minus, x''), 0))
APP(app(plus, app(app(minus, x), app(s, 0))), app(app(minus, app(s, x'')), app(s, app(s, z')))) -> APP(app(plus, app(app(minus, x''), app(s, z'))), app(app(minus, x), app(s, 0)))
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), y)
APP(app(quot, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(quot, app(s, x)), app(s, y)) -> APP(app(quot, app(app(minus, x), y)), app(s, y))
APP(app(minus, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(plus, app(app(plus, x), app(s, 0))), app(app(plus, y), app(s, app(s, z)))) -> APP(app(plus, app(app(plus, y), app(s, app(s, z)))), app(app(plus, x), app(s, 0)))
app(app(minus, x), 0) -> x
app(app(minus, app(s, x)), app(s, y)) -> app(app(minus, x), y)
app(app(quot, 0), app(s, y)) -> 0
app(app(quot, app(s, x)), app(s, y)) -> app(s, app(app(quot, app(app(minus, x), y)), app(s, y)))
app(app(plus, 0), y) -> y
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(plus, app(app(minus, x), app(s, 0))), app(app(minus, y), app(s, app(s, z)))) -> app(app(plus, app(app(minus, y), app(s, app(s, z)))), app(app(minus, x), app(s, 0)))
app(app(plus, app(app(plus, x), app(s, 0))), app(app(plus, y), app(s, app(s, z)))) -> app(app(plus, app(app(plus, y), app(s, app(s, z)))), app(app(plus, x), app(s, 0)))
four new Dependency Pairs are created:
APP(app(plus, app(app(plus, x), app(s, 0))), app(app(plus, y), app(s, app(s, z)))) -> APP(app(plus, app(app(plus, y), app(s, app(s, z)))), app(app(plus, x), app(s, 0)))
APP(app(plus, app(app(plus, x), app(s, 0))), app(app(plus, 0), app(s, app(s, z')))) -> APP(app(plus, app(s, app(s, z'))), app(app(plus, x), app(s, 0)))
APP(app(plus, app(app(plus, x), app(s, 0))), app(app(plus, app(s, x'')), app(s, app(s, z')))) -> APP(app(plus, app(s, app(app(plus, x''), app(s, app(s, z'))))), app(app(plus, x), app(s, 0)))
APP(app(plus, app(app(plus, 0), app(s, 0))), app(app(plus, y), app(s, app(s, z)))) -> APP(app(plus, app(app(plus, y), app(s, app(s, z)))), app(s, 0))
APP(app(plus, app(app(plus, app(s, x'')), app(s, 0))), app(app(plus, y), app(s, app(s, z)))) -> APP(app(plus, app(app(plus, y), app(s, app(s, z)))), app(s, app(app(plus, x''), app(s, 0))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 3
↳Remaining Obligation(s)
APP(app(plus, app(app(plus, app(s, x'')), app(s, 0))), app(app(plus, y), app(s, app(s, z)))) -> APP(app(plus, app(app(plus, y), app(s, app(s, z)))), app(s, app(app(plus, x''), app(s, 0))))
APP(app(plus, app(app(plus, 0), app(s, 0))), app(app(plus, y), app(s, app(s, z)))) -> APP(app(plus, app(app(plus, y), app(s, app(s, z)))), app(s, 0))
APP(app(plus, app(app(plus, x), app(s, 0))), app(app(plus, app(s, x'')), app(s, app(s, z')))) -> APP(app(plus, app(s, app(app(plus, x''), app(s, app(s, z'))))), app(app(plus, x), app(s, 0)))
APP(app(plus, app(app(plus, x), app(s, 0))), app(app(plus, 0), app(s, app(s, z')))) -> APP(app(plus, app(s, app(s, z'))), app(app(plus, x), app(s, 0)))
APP(app(plus, app(app(minus, x), app(s, 0))), app(app(minus, app(s, x'')), app(s, app(s, z')))) -> APP(app(plus, app(app(minus, x''), app(s, z'))), app(app(minus, x), app(s, 0)))
APP(app(plus, app(s, x)), y) -> APP(app(plus, x), y)
APP(app(quot, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(quot, app(s, x)), app(s, y)) -> APP(app(quot, app(app(minus, x), y)), app(s, y))
APP(app(minus, app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(plus, app(app(minus, app(s, x'')), app(s, 0))), app(app(minus, y), app(s, app(s, z)))) -> APP(app(plus, app(app(minus, y), app(s, app(s, z)))), app(app(minus, x''), 0))
app(app(minus, x), 0) -> x
app(app(minus, app(s, x)), app(s, y)) -> app(app(minus, x), y)
app(app(quot, 0), app(s, y)) -> 0
app(app(quot, app(s, x)), app(s, y)) -> app(s, app(app(quot, app(app(minus, x), y)), app(s, y)))
app(app(plus, 0), y) -> y
app(app(plus, app(s, x)), y) -> app(s, app(app(plus, x), y))
app(app(plus, app(app(minus, x), app(s, 0))), app(app(minus, y), app(s, app(s, z)))) -> app(app(plus, app(app(minus, y), app(s, app(s, z)))), app(app(minus, x), app(s, 0)))
app(app(plus, app(app(plus, x), app(s, 0))), app(app(plus, y), app(s, app(s, z)))) -> app(app(plus, app(app(plus, y), app(s, app(s, z)))), app(app(plus, x), app(s, 0)))