R
↳Dependency Pair Analysis
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(le, app(s, x)), app(s, y)) -> APP(le, x)
APP(app(minus, x), app(s, y)) -> APP(pred, app(app(minus, x), y))
APP(app(minus, x), app(s, y)) -> APP(app(minus, x), y)
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(ifgcd, app(app(le, y), x)), app(s, x))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(ifgcd, app(app(le, y), x))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(gcd, app(s, x)), app(s, y)) -> APP(le, y)
APP(app(app(ifgcd, true), app(s, x)), app(s, y)) -> APP(app(gcd, app(app(minus, x), y)), app(s, y))
APP(app(app(ifgcd, true), app(s, x)), app(s, y)) -> APP(gcd, app(app(minus, x), y))
APP(app(app(ifgcd, true), app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(app(ifgcd, true), app(s, x)), app(s, y)) -> APP(minus, x)
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(app(gcd, app(app(minus, y), x)), app(s, x))
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(gcd, app(app(minus, y), x))
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(app(minus, y), x)
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(minus, y)
R
↳DPs
→DP Problem 1
↳Polynomial Ordering
→DP Problem 2
↳Nar
APP(app(minus, x), app(s, y)) -> APP(app(minus, x), y)
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
APP(app(minus, x), app(s, y)) -> APP(app(minus, x), y)
POL(if_gcd) = 0 POL(0) = 0 POL(false) = 0 POL(pred) = 0 POL(minus) = 0 POL(true) = 0 POL(s) = 0 POL(le) = 0 POL(app(x1, x2)) = 1 + x2 POL(APP(x1, x2)) = x2 POL(gcd) = 0
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 3
↳Dependency Graph
→DP Problem 2
↳Nar
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Narrowing Transformation
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(app(minus, y), x)
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(app(gcd, app(app(minus, y), x)), app(s, x))
APP(app(app(ifgcd, true), app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(app(ifgcd, true), app(s, x)), app(s, y)) -> APP(app(gcd, app(app(minus, x), y)), app(s, y))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(ifgcd, app(app(le, y), x)), app(s, x))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
three new Dependency Pairs are created:
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y''))), app(s, app(s, x'')))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y''))), app(s, app(s, x'')))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(app(gcd, app(app(minus, y), x)), app(s, x))
APP(app(app(ifgcd, true), app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(app(ifgcd, true), app(s, x)), app(s, y)) -> APP(app(gcd, app(app(minus, x), y)), app(s, y))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(ifgcd, app(app(le, y), x)), app(s, x))
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(app(minus, y), x)
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
three new Dependency Pairs are created:
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(ifgcd, app(app(le, y), x)), app(s, x))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(ifgcd, true), app(s, x'))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(ifgcd, false), app(s, 0))
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y'')))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 5
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y'')))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(ifgcd, false), app(s, 0))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(ifgcd, true), app(s, x'))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(app(minus, y), x)
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(app(gcd, app(app(minus, y), x)), app(s, x))
APP(app(app(ifgcd, true), app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(app(ifgcd, true), app(s, x)), app(s, y)) -> APP(app(gcd, app(app(minus, x), y)), app(s, y))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y''))), app(s, app(s, x'')))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
two new Dependency Pairs are created:
APP(app(app(ifgcd, true), app(s, x)), app(s, y)) -> APP(app(gcd, app(app(minus, x), y)), app(s, y))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, app(s, y''))) -> APP(app(gcd, app(pred, app(app(minus, x''), y''))), app(s, app(s, y'')))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 6
↳Narrowing Transformation
APP(app(app(ifgcd, true), app(s, x'')), app(s, app(s, y''))) -> APP(app(gcd, app(pred, app(app(minus, x''), y''))), app(s, app(s, y'')))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(ifgcd, false), app(s, 0))
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y''))), app(s, app(s, x'')))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(ifgcd, true), app(s, x'))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(app(minus, y), x)
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(app(gcd, app(app(minus, y), x)), app(s, x))
APP(app(app(ifgcd, true), app(s, x)), app(s, y)) -> APP(app(minus, x), y)
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y'')))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
no new Dependency Pairs are created.
APP(app(app(ifgcd, true), app(s, x)), app(s, y)) -> APP(app(minus, x), y)
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 7
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y'')))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(ifgcd, false), app(s, 0))
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y''))), app(s, app(s, x'')))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(ifgcd, true), app(s, x'))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(app(minus, y), x)
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(app(gcd, app(app(minus, y), x)), app(s, x))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(app(ifgcd, true), app(s, x'')), app(s, app(s, y''))) -> APP(app(gcd, app(pred, app(app(minus, x''), y''))), app(s, app(s, y'')))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
two new Dependency Pairs are created:
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(app(gcd, app(app(minus, y), x)), app(s, x))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, false), app(s, app(s, y''))), app(s, y0)) -> APP(app(gcd, app(pred, app(app(minus, y0), y''))), app(s, app(s, y'')))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 8
↳Narrowing Transformation
APP(app(app(ifgcd, true), app(s, x'')), app(s, app(s, y''))) -> APP(app(gcd, app(pred, app(app(minus, x''), y''))), app(s, app(s, y'')))
APP(app(app(ifgcd, false), app(s, app(s, y''))), app(s, y0)) -> APP(app(gcd, app(pred, app(app(minus, y0), y''))), app(s, app(s, y'')))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(ifgcd, false), app(s, 0))
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y''))), app(s, app(s, x'')))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(ifgcd, true), app(s, x'))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(app(minus, y), x)
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y'')))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
no new Dependency Pairs are created.
APP(app(app(ifgcd, false), app(s, x)), app(s, y)) -> APP(app(minus, y), x)
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 9
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y'')))
APP(app(app(ifgcd, false), app(s, app(s, y''))), app(s, y0)) -> APP(app(gcd, app(pred, app(app(minus, y0), y''))), app(s, app(s, y'')))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(ifgcd, false), app(s, 0))
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y''))), app(s, app(s, x'')))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(ifgcd, true), app(s, x'))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(app(ifgcd, true), app(s, x'')), app(s, app(s, y''))) -> APP(app(gcd, app(pred, app(app(minus, x''), y''))), app(s, app(s, y'')))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
three new Dependency Pairs are created:
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y''))), app(s, app(s, x'')))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y')))), app(s, app(s, app(s, x'))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 10
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y')))), app(s, app(s, app(s, x'))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, x'')), app(s, app(s, y''))) -> APP(app(gcd, app(pred, app(app(minus, x''), y''))), app(s, app(s, y'')))
APP(app(app(ifgcd, false), app(s, app(s, y''))), app(s, y0)) -> APP(app(gcd, app(pred, app(app(minus, y0), y''))), app(s, app(s, y'')))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(ifgcd, false), app(s, 0))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(ifgcd, true), app(s, x'))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y'')))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
no new Dependency Pairs are created.
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(ifgcd, true), app(s, x'))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 11
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, x'')), app(s, app(s, y''))) -> APP(app(gcd, app(pred, app(app(minus, x''), y''))), app(s, app(s, y'')))
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y'')))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(ifgcd, false), app(s, 0))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, y''))), app(s, y0)) -> APP(app(gcd, app(pred, app(app(minus, y0), y''))), app(s, app(s, y'')))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y')))), app(s, app(s, app(s, x'))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
no new Dependency Pairs are created.
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(ifgcd, false), app(s, 0))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 12
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y')))), app(s, app(s, app(s, x'))))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, x'')), app(s, app(s, y''))) -> APP(app(gcd, app(pred, app(app(minus, x''), y''))), app(s, app(s, y'')))
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y'')))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, y''))), app(s, y0)) -> APP(app(gcd, app(pred, app(app(minus, y0), y''))), app(s, app(s, y'')))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
three new Dependency Pairs are created:
APP(app(gcd, app(s, app(s, y''))), app(s, app(s, x''))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, y'')))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(ifgcd, true), app(s, app(s, y''')))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(ifgcd, false), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y'))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 13
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y'))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(ifgcd, false), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(ifgcd, true), app(s, app(s, y''')))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, x'')), app(s, app(s, y''))) -> APP(app(gcd, app(pred, app(app(minus, x''), y''))), app(s, app(s, y'')))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, y''))), app(s, y0)) -> APP(app(gcd, app(pred, app(app(minus, y0), y''))), app(s, app(s, y'')))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y')))), app(s, app(s, app(s, x'))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
two new Dependency Pairs are created:
APP(app(app(ifgcd, true), app(s, x'')), app(s, app(s, y''))) -> APP(app(gcd, app(pred, app(app(minus, x''), y''))), app(s, app(s, y'')))
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, 0))) -> APP(app(gcd, app(pred, x''')), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, app(s, y')))) -> APP(app(gcd, app(pred, app(pred, app(app(minus, x'''), y')))), app(s, app(s, app(s, y'))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 14
↳Narrowing Transformation
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, app(s, y')))) -> APP(app(gcd, app(pred, app(pred, app(app(minus, x'''), y')))), app(s, app(s, app(s, y'))))
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, 0))) -> APP(app(gcd, app(pred, x''')), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(ifgcd, false), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y')))), app(s, app(s, app(s, x'))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(ifgcd, true), app(s, app(s, y''')))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, y''))), app(s, y0)) -> APP(app(gcd, app(pred, app(app(minus, y0), y''))), app(s, app(s, y'')))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y'))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
two new Dependency Pairs are created:
APP(app(app(ifgcd, false), app(s, app(s, y''))), app(s, y0)) -> APP(app(gcd, app(pred, app(app(minus, y0), y''))), app(s, app(s, y'')))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, y0')) -> APP(app(gcd, app(pred, y0')), app(s, app(s, 0)))
APP(app(app(ifgcd, false), app(s, app(s, app(s, y')))), app(s, y0')) -> APP(app(gcd, app(pred, app(pred, app(app(minus, y0'), y')))), app(s, app(s, app(s, y'))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 15
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, y')))), app(s, y0')) -> APP(app(gcd, app(pred, app(pred, app(app(minus, y0'), y')))), app(s, app(s, app(s, y'))))
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, 0))) -> APP(app(gcd, app(pred, x''')), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(ifgcd, false), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y')))), app(s, app(s, app(s, x'))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(ifgcd, true), app(s, app(s, y''')))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, y0')) -> APP(app(gcd, app(pred, y0')), app(s, app(s, 0)))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, app(s, y')))) -> APP(app(gcd, app(pred, app(pred, app(app(minus, x'''), y')))), app(s, app(s, app(s, y'))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
no new Dependency Pairs are created.
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(ifgcd, true), app(s, app(s, y''')))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 16
↳Narrowing Transformation
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, app(s, y')))) -> APP(app(gcd, app(pred, app(pred, app(app(minus, x'''), y')))), app(s, app(s, app(s, y'))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(ifgcd, false), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y')))), app(s, app(s, app(s, x'))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, y')))), app(s, y0')) -> APP(app(gcd, app(pred, app(pred, app(app(minus, y0'), y')))), app(s, app(s, app(s, y'))))
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, 0))) -> APP(app(gcd, app(pred, x''')), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, y0')) -> APP(app(gcd, app(pred, y0')), app(s, app(s, 0)))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y'))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
no new Dependency Pairs are created.
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(ifgcd, false), app(s, app(s, 0)))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 17
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y'))))
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y')))), app(s, app(s, app(s, x'))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, y')))), app(s, y0')) -> APP(app(gcd, app(pred, app(pred, app(app(minus, y0'), y')))), app(s, app(s, app(s, y'))))
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, 0))) -> APP(app(gcd, app(pred, x''')), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, y0')) -> APP(app(gcd, app(pred, y0')), app(s, app(s, 0)))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, app(s, y')))) -> APP(app(gcd, app(pred, app(pred, app(app(minus, x'''), y')))), app(s, app(s, app(s, y'))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
three new Dependency Pairs are created:
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y')))), app(s, app(s, app(s, x'))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x'')))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 18
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x'')))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, app(s, y')))) -> APP(app(gcd, app(pred, app(pred, app(app(minus, x'''), y')))), app(s, app(s, app(s, y'))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, y')))), app(s, y0')) -> APP(app(gcd, app(pred, app(pred, app(app(minus, y0'), y')))), app(s, app(s, app(s, y'))))
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, 0))) -> APP(app(gcd, app(pred, x''')), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, y0')) -> APP(app(gcd, app(pred, y0')), app(s, app(s, 0)))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y'))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
three new Dependency Pairs are created:
APP(app(gcd, app(s, app(s, app(s, y')))), app(s, app(s, app(s, x')))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, y'))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(ifgcd, true), app(s, app(s, app(s, y''))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y'')))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 19
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y'')))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(ifgcd, true), app(s, app(s, app(s, y''))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, app(s, y')))) -> APP(app(gcd, app(pred, app(pred, app(app(minus, x'''), y')))), app(s, app(s, app(s, y'))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, y')))), app(s, y0')) -> APP(app(gcd, app(pred, app(pred, app(app(minus, y0'), y')))), app(s, app(s, app(s, y'))))
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, 0))) -> APP(app(gcd, app(pred, x''')), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, y0')) -> APP(app(gcd, app(pred, y0')), app(s, app(s, 0)))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x'')))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
one new Dependency Pair is created:
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, 0))) -> APP(app(gcd, app(pred, x''')), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 20
↳Narrowing Transformation
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x'')))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(ifgcd, true), app(s, app(s, app(s, y''))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, app(s, y')))) -> APP(app(gcd, app(pred, app(pred, app(app(minus, x'''), y')))), app(s, app(s, app(s, y'))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, y')))), app(s, y0')) -> APP(app(gcd, app(pred, app(pred, app(app(minus, y0'), y')))), app(s, app(s, app(s, y'))))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, y0')) -> APP(app(gcd, app(pred, y0')), app(s, app(s, 0)))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y'')))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
two new Dependency Pairs are created:
APP(app(app(ifgcd, true), app(s, x''')), app(s, app(s, app(s, y')))) -> APP(app(gcd, app(pred, app(pred, app(app(minus, x'''), y')))), app(s, app(s, app(s, y'))))
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, app(pred, x''''))), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, app(s, y''))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, x''''), y''))))), app(s, app(s, app(s, app(s, y'')))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 21
↳Narrowing Transformation
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, app(s, y''))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, x''''), y''))))), app(s, app(s, app(s, app(s, y'')))))
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y'')))))
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, app(pred, x''''))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x'')))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(ifgcd, true), app(s, app(s, app(s, y''))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, y')))), app(s, y0')) -> APP(app(gcd, app(pred, app(pred, app(app(minus, y0'), y')))), app(s, app(s, app(s, y'))))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, y0')) -> APP(app(gcd, app(pred, y0')), app(s, app(s, 0)))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
one new Dependency Pair is created:
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, y0')) -> APP(app(gcd, app(pred, y0')), app(s, app(s, 0)))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 22
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y'')))))
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, app(pred, x''''))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x'')))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(ifgcd, true), app(s, app(s, app(s, y''))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, y')))), app(s, y0')) -> APP(app(gcd, app(pred, app(pred, app(app(minus, y0'), y')))), app(s, app(s, app(s, y'))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, app(s, y''))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, x''''), y''))))), app(s, app(s, app(s, app(s, y'')))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
two new Dependency Pairs are created:
APP(app(app(ifgcd, false), app(s, app(s, app(s, y')))), app(s, y0')) -> APP(app(gcd, app(pred, app(pred, app(app(minus, y0'), y')))), app(s, app(s, app(s, y'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, y0''))), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, y''))))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, y0''), y''))))), app(s, app(s, app(s, app(s, y'')))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 23
↳Narrowing Transformation
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, app(s, y''))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, x''''), y''))))), app(s, app(s, app(s, app(s, y'')))))
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, app(pred, x''''))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x'')))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(ifgcd, true), app(s, app(s, app(s, y''))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, y''))))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, y0''), y''))))), app(s, app(s, app(s, app(s, y'')))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, y0''))), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y'')))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
three new Dependency Pairs are created:
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x'')))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x'))))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 24
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y'')))))
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, app(pred, x''''))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(ifgcd, true), app(s, app(s, app(s, y''))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, y''))))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, y0''), y''))))), app(s, app(s, app(s, app(s, y'')))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, y0''))), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, app(s, y''))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, x''''), y''))))), app(s, app(s, app(s, app(s, y'')))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
no new Dependency Pairs are created.
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(ifgcd, true), app(s, app(s, app(s, y''))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 25
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, app(s, y''))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, x''''), y''))))), app(s, app(s, app(s, app(s, y'')))))
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y'')))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, app(pred, x''''))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, y''))))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, y0''), y''))))), app(s, app(s, app(s, app(s, y'')))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, y0''))), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x'))))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
no new Dependency Pairs are created.
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, 0))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 26
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, app(s, y''))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, x''''), y''))))), app(s, app(s, app(s, app(s, y'')))))
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y'')))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, app(pred, x''''))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, y''))))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, y0''), y''))))), app(s, app(s, app(s, app(s, y'')))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, y0''))), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
three new Dependency Pairs are created:
APP(app(gcd, app(s, app(s, app(s, app(s, y''))))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, y'')))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, y''')))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y'))))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 27
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, y''')))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, app(s, y''))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, x''''), y''))))), app(s, app(s, app(s, app(s, y'')))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, app(pred, x''''))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, y''))))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, y0''), y''))))), app(s, app(s, app(s, app(s, y'')))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, y0''))), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x'))))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
one new Dependency Pair is created:
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, app(pred, x''''))), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 28
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, y''')))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, app(s, y''))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, x''''), y''))))), app(s, app(s, app(s, app(s, y'')))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, y''))))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, y0''), y''))))), app(s, app(s, app(s, app(s, y'')))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, y0''))), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y'))))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
two new Dependency Pairs are created:
APP(app(app(ifgcd, true), app(s, x'''')), app(s, app(s, app(s, app(s, y''))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, x''''), y''))))), app(s, app(s, app(s, app(s, y'')))))
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, app(pred, x''''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, app(s, y')))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, x'''''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 29
↳Narrowing Transformation
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, app(pred, x''''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, app(s, y')))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, x'''''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, y''')))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, y''))))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, y0''), y''))))), app(s, app(s, app(s, app(s, y'')))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, y0''))), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, 0)))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
one new Dependency Pair is created:
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, y0''))), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, x'))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 30
↳Narrowing Transformation
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, app(s, y')))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, x'''''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, y''')))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, x'))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, y''))))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, y0''), y''))))), app(s, app(s, app(s, app(s, y'')))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, app(pred, x''''')))), app(s, app(s, app(s, app(s, 0)))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
two new Dependency Pairs are created:
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, y''))))), app(s, y0'')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(app(minus, y0''), y''))))), app(s, app(s, app(s, app(s, y'')))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, y0''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, y0'''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 31
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, app(pred, x''''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, y''')))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, y0'''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, x'))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, y0''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, app(s, y')))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, x'''''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
three new Dependency Pairs are created:
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 32
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, app(s, y')))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, x'''''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, app(pred, x''''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, y''')))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, y0'''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, x'))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, y0''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y'))))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
no new Dependency Pairs are created.
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, y''')))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 33
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, app(s, y')))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, x'''''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, app(pred, x''''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, y0'''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, x'))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, y0''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
no new Dependency Pairs are created.
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, 0)))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 34
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, app(s, y')))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, x'''''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, app(pred, x''''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, y0'''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, x'))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, y0''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
three new Dependency Pairs are created:
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y')))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(ifgcd, app(app(le, x'), y')), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y''))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 35
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y''))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, app(s, y')))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, x'''''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, app(pred, x''''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, y0'''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, x'))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, y0''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
one new Dependency Pair is created:
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, true), app(s, app(s, app(s, x'')))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, x''), app(s, app(s, app(s, 0))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 36
↳Narrowing Transformation
APP(app(app(ifgcd, true), app(s, app(s, app(s, x'')))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, x''), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y''))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, app(s, y')))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, x'''''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, app(pred, x''''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, y0'''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, x'))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, y0''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
one new Dependency Pair is created:
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, app(pred, x''''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, x'))), app(s, app(s, app(s, app(s, 0)))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 37
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y''))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, app(s, y')))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, x'''''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, x'))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, y0'''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, x'))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, y0''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(app(ifgcd, true), app(s, app(s, app(s, x'')))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, x''), app(s, app(s, app(s, 0))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
two new Dependency Pairs are created:
APP(app(app(ifgcd, true), app(s, x''''')), app(s, app(s, app(s, app(s, app(s, y')))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, x'''''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(app(ifgcd, true), app(s, x'''''')), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, x''''''))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(app(ifgcd, true), app(s, x'''''')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(pred, app(app(minus, x''''''), y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 38
↳Narrowing Transformation
APP(app(app(ifgcd, true), app(s, app(s, app(s, x'')))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, x''), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, true), app(s, x'''''')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(pred, app(app(minus, x''''''), y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
APP(app(app(ifgcd, true), app(s, x'''''')), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, x''''''))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y''))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, x'))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, y0'''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, x'))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, y0''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
one new Dependency Pair is created:
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, x'))) -> APP(app(gcd, app(pred, x')), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, x'')))) -> APP(app(gcd, x''), app(s, app(s, app(s, 0))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 39
↳Narrowing Transformation
APP(app(app(ifgcd, true), app(s, x'''''')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(pred, app(app(minus, x''''''), y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
APP(app(app(ifgcd, true), app(s, x'''''')), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, x''''''))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y''))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, x'))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, x'')))) -> APP(app(gcd, x''), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, y0'''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, y0''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(app(ifgcd, true), app(s, app(s, app(s, x'')))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, x''), app(s, app(s, app(s, 0))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
one new Dependency Pair is created:
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, y0''')))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, x'))) -> APP(app(gcd, app(pred, app(pred, x'))), app(s, app(s, app(s, app(s, 0)))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 40
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
APP(app(app(ifgcd, true), app(s, x'''''')), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, x''''''))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y''))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, x'))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, x'')))) -> APP(app(gcd, x''), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, true), app(s, app(s, app(s, x'')))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, x''), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, x'))) -> APP(app(gcd, app(pred, app(pred, x'))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, y0'''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(app(ifgcd, true), app(s, x'''''')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(pred, app(app(minus, x''''''), y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
two new Dependency Pairs are created:
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, y')))))), app(s, y0''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(app(minus, y0'''), y')))))), app(s, app(s, app(s, app(s, app(s, y'))))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, y0'''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, y0''''))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, y0'''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(pred, app(app(minus, y0''''), y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 41
↳Narrowing Transformation
APP(app(app(ifgcd, true), app(s, x'''''')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(pred, app(app(minus, x''''''), y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
APP(app(app(ifgcd, true), app(s, x'''''')), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, x''''''))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y''))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, x'))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, y0'''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(pred, app(app(minus, y0''''), y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, x'')))) -> APP(app(gcd, x''), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, true), app(s, app(s, app(s, x'')))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, x''), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, x'))) -> APP(app(gcd, app(pred, app(pred, x'))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, y0'''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, y0''''))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
no new Dependency Pairs are created.
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y''))))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 42
↳Narrowing Transformation
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(app(ifgcd, true), app(s, x'''''')), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, x''''''))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, x'))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, y0'''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(pred, app(app(minus, y0''''), y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, x'')))) -> APP(app(gcd, x''), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, true), app(s, app(s, app(s, x'')))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, x''), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, x'))) -> APP(app(gcd, app(pred, app(pred, x'))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, y0'''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, y0''''))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(app(ifgcd, true), app(s, x'''''')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(pred, app(app(minus, x''''''), y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost
no new Dependency Pairs are created.
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0))))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Nar
→DP Problem 4
↳Nar
...
→DP Problem 43
↳Remaining Obligation(s)
APP(app(app(ifgcd, true), app(s, x'''''')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(pred, app(app(minus, x''''''), y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, app(s, app(s, app(s, app(s, app(s, x'')))))))
APP(app(app(ifgcd, true), app(s, x'''''')), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, x''''''))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0)))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, app(s, y'')))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(gcd, app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x')))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, app(s, app(s, app(s, x'))))))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(gcd, app(pred, app(pred, x'))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0))))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, app(s, y'''))))), app(s, app(s, app(s, app(s, 0)))))
APP(app(gcd, app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x''))))) -> APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, app(s, x'')))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, y0'''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, app(pred, app(app(minus, y0''''), y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, 0)))), app(s, app(s, app(s, x'')))) -> APP(app(gcd, x''), app(s, app(s, app(s, 0))))
APP(app(app(ifgcd, true), app(s, app(s, app(s, x'')))), app(s, app(s, app(s, 0)))) -> APP(app(gcd, x''), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0)))) -> APP(app(app(ifgcd, true), app(s, app(s, app(s, y'')))), app(s, app(s, app(s, 0))))
APP(app(gcd, app(s, app(s, 0))), app(s, app(s, app(s, x')))) -> APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, app(s, x'))))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, 0))))), app(s, app(s, x'))) -> APP(app(gcd, app(pred, app(pred, x'))), app(s, app(s, app(s, app(s, 0)))))
APP(app(app(ifgcd, false), app(s, app(s, 0))), app(s, app(s, x'))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(app(ifgcd, true), app(s, app(s, x'))), app(s, app(s, 0))) -> APP(app(gcd, x'), app(s, app(s, 0)))
APP(app(gcd, app(s, app(s, y'''))), app(s, app(s, 0))) -> APP(app(app(ifgcd, true), app(s, app(s, y'''))), app(s, app(s, 0)))
APP(app(gcd, app(s, 0)), app(s, app(s, x''))) -> APP(app(app(ifgcd, false), app(s, 0)), app(s, app(s, x'')))
APP(app(app(ifgcd, false), app(s, app(s, app(s, app(s, app(s, 0)))))), app(s, y0'''')) -> APP(app(gcd, app(pred, app(pred, app(pred, app(pred, y0''''))))), app(s, app(s, app(s, app(s, app(s, 0))))))
APP(app(app(ifgcd, false), app(s, 0)), app(s, y')) -> APP(app(gcd, y'), app(s, 0))
APP(app(app(ifgcd, true), app(s, x'')), app(s, 0)) -> APP(app(gcd, x''), app(s, 0))
APP(app(gcd, app(s, x')), app(s, 0)) -> APP(app(app(ifgcd, true), app(s, x')), app(s, 0))
APP(app(gcd, app(s, x)), app(s, y)) -> APP(app(le, y), x)
APP(app(le, app(s, x)), app(s, y)) -> APP(app(le, x), y)
APP(app(gcd, app(s, app(s, app(s, app(s, app(s, app(s, y''))))))), app(s, app(s, app(s, app(s, app(s, app(s, x''))))))) -> APP(app(ifgcd, app(app(le, x''), y'')), app(s, app(s, app(s, app(s, app(s, app(s, y'')))))))
app(app(le, 0), y) -> true
app(app(le, app(s, x)), 0) -> false
app(app(le, app(s, x)), app(s, y)) -> app(app(le, x), y)
app(pred, app(s, x)) -> x
app(app(minus, x), 0) -> x
app(app(minus, x), app(s, y)) -> app(pred, app(app(minus, x), y))
app(app(gcd, 0), y) -> y
app(app(gcd, app(s, x)), 0) -> app(s, x)
app(app(gcd, app(s, x)), app(s, y)) -> app(app(app(ifgcd, app(app(le, y), x)), app(s, x)), app(s, y))
app(app(app(ifgcd, true), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, x), y)), app(s, y))
app(app(app(ifgcd, false), app(s, x)), app(s, y)) -> app(app(gcd, app(app(minus, y), x)), app(s, x))
innermost