R
↳Dependency Pair Analysis
MIN(s(x), s(y)) -> MIN(x, y)
MAX(s(x), s(y)) -> MAX(x, y)
-'(s(x), s(y)) -> -'(x, y)
GCD(s(x), s(y)) -> GCD(-(s(max(x, y)), s(min(x, y))), s(min(x, y)))
GCD(s(x), s(y)) -> -'(s(max(x, y)), s(min(x, y)))
GCD(s(x), s(y)) -> MAX(x, y)
GCD(s(x), s(y)) -> MIN(x, y)
R
↳DPs
→DP Problem 1
↳Polynomial Ordering
→DP Problem 2
↳Polo
→DP Problem 3
↳Polo
→DP Problem 4
↳Nar
MIN(s(x), s(y)) -> MIN(x, y)
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
max(x, 0) -> x
max(0, y) -> y
max(s(x), s(y)) -> s(max(x, y))
-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
gcd(s(x), s(y)) -> gcd(-(s(max(x, y)), s(min(x, y))), s(min(x, y)))
innermost
MIN(s(x), s(y)) -> MIN(x, y)
POL(MIN(x1, x2)) = x1 POL(s(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 5
↳Dependency Graph
→DP Problem 2
↳Polo
→DP Problem 3
↳Polo
→DP Problem 4
↳Nar
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
max(x, 0) -> x
max(0, y) -> y
max(s(x), s(y)) -> s(max(x, y))
-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
gcd(s(x), s(y)) -> gcd(-(s(max(x, y)), s(min(x, y))), s(min(x, y)))
innermost
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polynomial Ordering
→DP Problem 3
↳Polo
→DP Problem 4
↳Nar
MAX(s(x), s(y)) -> MAX(x, y)
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
max(x, 0) -> x
max(0, y) -> y
max(s(x), s(y)) -> s(max(x, y))
-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
gcd(s(x), s(y)) -> gcd(-(s(max(x, y)), s(min(x, y))), s(min(x, y)))
innermost
MAX(s(x), s(y)) -> MAX(x, y)
POL(MAX(x1, x2)) = x1 POL(s(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 6
↳Dependency Graph
→DP Problem 3
↳Polo
→DP Problem 4
↳Nar
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
max(x, 0) -> x
max(0, y) -> y
max(s(x), s(y)) -> s(max(x, y))
-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
gcd(s(x), s(y)) -> gcd(-(s(max(x, y)), s(min(x, y))), s(min(x, y)))
innermost
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 3
↳Polynomial Ordering
→DP Problem 4
↳Nar
-'(s(x), s(y)) -> -'(x, y)
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
max(x, 0) -> x
max(0, y) -> y
max(s(x), s(y)) -> s(max(x, y))
-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
gcd(s(x), s(y)) -> gcd(-(s(max(x, y)), s(min(x, y))), s(min(x, y)))
innermost
-'(s(x), s(y)) -> -'(x, y)
POL(-'(x1, x2)) = x1 POL(s(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 3
↳Polo
→DP Problem 7
↳Dependency Graph
→DP Problem 4
↳Nar
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
max(x, 0) -> x
max(0, y) -> y
max(s(x), s(y)) -> s(max(x, y))
-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
gcd(s(x), s(y)) -> gcd(-(s(max(x, y)), s(min(x, y))), s(min(x, y)))
innermost
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 3
↳Polo
→DP Problem 4
↳Narrowing Transformation
GCD(s(x), s(y)) -> GCD(-(s(max(x, y)), s(min(x, y))), s(min(x, y)))
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
max(x, 0) -> x
max(0, y) -> y
max(s(x), s(y)) -> s(max(x, y))
-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
gcd(s(x), s(y)) -> gcd(-(s(max(x, y)), s(min(x, y))), s(min(x, y)))
innermost
10 new Dependency Pairs are created:
GCD(s(x), s(y)) -> GCD(-(s(max(x, y)), s(min(x, y))), s(min(x, y)))
GCD(s(x''), s(y'')) -> GCD(-(max(x'', y''), min(x'', y'')), s(min(x'', y'')))
GCD(s(x''), s(0)) -> GCD(-(s(x''), s(min(x'', 0))), s(min(x'', 0)))
GCD(s(0), s(y'')) -> GCD(-(s(y''), s(min(0, y''))), s(min(0, y'')))
GCD(s(s(x'')), s(s(y''))) -> GCD(-(s(s(max(x'', y''))), s(min(s(x''), s(y'')))), s(min(s(x''), s(y''))))
GCD(s(x''), s(0)) -> GCD(-(s(max(x'', 0)), s(0)), s(min(x'', 0)))
GCD(s(0), s(y'')) -> GCD(-(s(max(0, y'')), s(0)), s(min(0, y'')))
GCD(s(s(x'')), s(s(y''))) -> GCD(-(s(max(s(x''), s(y''))), s(s(min(x'', y'')))), s(min(s(x''), s(y''))))
GCD(s(x''), s(0)) -> GCD(-(s(max(x'', 0)), s(min(x'', 0))), s(0))
GCD(s(0), s(y'')) -> GCD(-(s(max(0, y'')), s(min(0, y''))), s(0))
GCD(s(s(x'')), s(s(y''))) -> GCD(-(s(max(s(x''), s(y''))), s(min(s(x''), s(y'')))), s(s(min(x'', y''))))
R
↳DPs
→DP Problem 1
↳Polo
→DP Problem 2
↳Polo
→DP Problem 3
↳Polo
→DP Problem 4
↳Nar
→DP Problem 8
↳Remaining Obligation(s)
GCD(s(s(x'')), s(s(y''))) -> GCD(-(s(max(s(x''), s(y''))), s(min(s(x''), s(y'')))), s(s(min(x'', y''))))
GCD(s(0), s(y'')) -> GCD(-(s(max(0, y'')), s(min(0, y''))), s(0))
GCD(s(x''), s(0)) -> GCD(-(s(max(x'', 0)), s(min(x'', 0))), s(0))
GCD(s(s(x'')), s(s(y''))) -> GCD(-(s(max(s(x''), s(y''))), s(s(min(x'', y'')))), s(min(s(x''), s(y''))))
GCD(s(0), s(y'')) -> GCD(-(s(max(0, y'')), s(0)), s(min(0, y'')))
GCD(s(x''), s(0)) -> GCD(-(s(max(x'', 0)), s(0)), s(min(x'', 0)))
GCD(s(s(x'')), s(s(y''))) -> GCD(-(s(s(max(x'', y''))), s(min(s(x''), s(y'')))), s(min(s(x''), s(y''))))
GCD(s(0), s(y'')) -> GCD(-(s(y''), s(min(0, y''))), s(min(0, y'')))
GCD(s(x''), s(0)) -> GCD(-(s(x''), s(min(x'', 0))), s(min(x'', 0)))
GCD(s(x''), s(y'')) -> GCD(-(max(x'', y''), min(x'', y'')), s(min(x'', y'')))
min(x, 0) -> 0
min(0, y) -> 0
min(s(x), s(y)) -> s(min(x, y))
max(x, 0) -> x
max(0, y) -> y
max(s(x), s(y)) -> s(max(x, y))
-(x, 0) -> x
-(s(x), s(y)) -> -(x, y)
gcd(s(x), s(y)) -> gcd(-(s(max(x, y)), s(min(x, y))), s(min(x, y)))
innermost