R
↳Dependency Pair Analysis
LE(s(x), s(y)) -> LE(x, y)
MINUS(x, s(y)) -> PRED(minus(x, y))
MINUS(x, s(y)) -> MINUS(x, y)
GCD(s(x), s(y)) -> IFGCD(le(y, x), s(x), s(y))
GCD(s(x), s(y)) -> LE(y, x)
IFGCD(true, s(x), s(y)) -> GCD(minus(x, y), s(y))
IFGCD(true, s(x), s(y)) -> MINUS(x, y)
IFGCD(false, s(x), s(y)) -> GCD(minus(y, x), s(x))
IFGCD(false, s(x), s(y)) -> MINUS(y, x)
R
↳DPs
→DP Problem 1
↳Forward Instantiation Transformation
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
LE(s(x), s(y)) -> LE(x, y)
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
one new Dependency Pair is created:
LE(s(x), s(y)) -> LE(x, y)
LE(s(s(x'')), s(s(y''))) -> LE(s(x''), s(y''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 4
↳Forward Instantiation Transformation
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
LE(s(s(x'')), s(s(y''))) -> LE(s(x''), s(y''))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
one new Dependency Pair is created:
LE(s(s(x'')), s(s(y''))) -> LE(s(x''), s(y''))
LE(s(s(s(x''''))), s(s(s(y'''')))) -> LE(s(s(x'''')), s(s(y'''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 4
↳FwdInst
...
→DP Problem 5
↳Argument Filtering and Ordering
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
LE(s(s(s(x''''))), s(s(s(y'''')))) -> LE(s(s(x'''')), s(s(y'''')))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
LE(s(s(s(x''''))), s(s(s(y'''')))) -> LE(s(s(x'''')), s(s(y'''')))
LE(x1, x2) -> LE(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 4
↳FwdInst
...
→DP Problem 6
↳Dependency Graph
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Forward Instantiation Transformation
→DP Problem 3
↳Nar
MINUS(x, s(y)) -> MINUS(x, y)
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
one new Dependency Pair is created:
MINUS(x, s(y)) -> MINUS(x, y)
MINUS(x'', s(s(y''))) -> MINUS(x'', s(y''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 7
↳Forward Instantiation Transformation
→DP Problem 3
↳Nar
MINUS(x'', s(s(y''))) -> MINUS(x'', s(y''))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
one new Dependency Pair is created:
MINUS(x'', s(s(y''))) -> MINUS(x'', s(y''))
MINUS(x'''', s(s(s(y'''')))) -> MINUS(x'''', s(s(y'''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 7
↳FwdInst
...
→DP Problem 8
↳Argument Filtering and Ordering
→DP Problem 3
↳Nar
MINUS(x'''', s(s(s(y'''')))) -> MINUS(x'''', s(s(y'''')))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
MINUS(x'''', s(s(s(y'''')))) -> MINUS(x'''', s(s(y'''')))
MINUS(x1, x2) -> MINUS(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 7
↳FwdInst
...
→DP Problem 9
↳Dependency Graph
→DP Problem 3
↳Nar
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Narrowing Transformation
IFGCD(false, s(x), s(y)) -> GCD(minus(y, x), s(x))
IFGCD(true, s(x), s(y)) -> GCD(minus(x, y), s(y))
GCD(s(x), s(y)) -> IFGCD(le(y, x), s(x), s(y))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
three new Dependency Pairs are created:
GCD(s(x), s(y)) -> IFGCD(le(y, x), s(x), s(y))
GCD(s(x'), s(0)) -> IFGCD(true, s(x'), s(0))
GCD(s(0), s(s(x''))) -> IFGCD(false, s(0), s(s(x'')))
GCD(s(s(y'')), s(s(x''))) -> IFGCD(le(x'', y''), s(s(y'')), s(s(x'')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Narrowing Transformation
GCD(s(s(y'')), s(s(x''))) -> IFGCD(le(x'', y''), s(s(y'')), s(s(x'')))
GCD(s(0), s(s(x''))) -> IFGCD(false, s(0), s(s(x'')))
IFGCD(true, s(x), s(y)) -> GCD(minus(x, y), s(y))
GCD(s(x'), s(0)) -> IFGCD(true, s(x'), s(0))
IFGCD(false, s(x), s(y)) -> GCD(minus(y, x), s(x))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
two new Dependency Pairs are created:
IFGCD(true, s(x), s(y)) -> GCD(minus(x, y), s(y))
IFGCD(true, s(x''), s(0)) -> GCD(x'', s(0))
IFGCD(true, s(x''), s(s(y''))) -> GCD(pred(minus(x'', y'')), s(s(y'')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 11
↳Forward Instantiation Transformation
IFGCD(true, s(x''), s(0)) -> GCD(x'', s(0))
GCD(s(x'), s(0)) -> IFGCD(true, s(x'), s(0))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
one new Dependency Pair is created:
IFGCD(true, s(x''), s(0)) -> GCD(x'', s(0))
IFGCD(true, s(s(x'''')), s(0)) -> GCD(s(x''''), s(0))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 13
↳Forward Instantiation Transformation
IFGCD(true, s(s(x'''')), s(0)) -> GCD(s(x''''), s(0))
GCD(s(x'), s(0)) -> IFGCD(true, s(x'), s(0))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
one new Dependency Pair is created:
GCD(s(x'), s(0)) -> IFGCD(true, s(x'), s(0))
GCD(s(s(x'''''')), s(0)) -> IFGCD(true, s(s(x'''''')), s(0))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 15
↳Argument Filtering and Ordering
GCD(s(s(x'''''')), s(0)) -> IFGCD(true, s(s(x'''''')), s(0))
IFGCD(true, s(s(x'''')), s(0)) -> GCD(s(x''''), s(0))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
IFGCD(true, s(s(x'''')), s(0)) -> GCD(s(x''''), s(0))
IFGCD(x1, x2, x3) -> x2
s(x1) -> s(x1)
GCD(x1, x2) -> x1
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 20
↳Dependency Graph
GCD(s(s(x'''''')), s(0)) -> IFGCD(true, s(s(x'''''')), s(0))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 12
↳Narrowing Transformation
IFGCD(true, s(x''), s(s(y''))) -> GCD(pred(minus(x'', y'')), s(s(y'')))
GCD(s(0), s(s(x''))) -> IFGCD(false, s(0), s(s(x'')))
IFGCD(false, s(x), s(y)) -> GCD(minus(y, x), s(x))
GCD(s(s(y'')), s(s(x''))) -> IFGCD(le(x'', y''), s(s(y'')), s(s(x'')))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
two new Dependency Pairs are created:
IFGCD(false, s(x), s(y)) -> GCD(minus(y, x), s(x))
IFGCD(false, s(0), s(y')) -> GCD(y', s(0))
IFGCD(false, s(s(y'')), s(y0)) -> GCD(pred(minus(y0, y'')), s(s(y'')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 14
↳Narrowing Transformation
IFGCD(false, s(s(y'')), s(y0)) -> GCD(pred(minus(y0, y'')), s(s(y'')))
GCD(s(s(y'')), s(s(x''))) -> IFGCD(le(x'', y''), s(s(y'')), s(s(x'')))
IFGCD(true, s(x''), s(s(y''))) -> GCD(pred(minus(x'', y'')), s(s(y'')))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
three new Dependency Pairs are created:
GCD(s(s(y'')), s(s(x''))) -> IFGCD(le(x'', y''), s(s(y'')), s(s(x'')))
GCD(s(s(y''')), s(s(0))) -> IFGCD(true, s(s(y''')), s(s(0)))
GCD(s(s(0)), s(s(s(x')))) -> IFGCD(false, s(s(0)), s(s(s(x'))))
GCD(s(s(s(y'))), s(s(s(x')))) -> IFGCD(le(x', y'), s(s(s(y'))), s(s(s(x'))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 16
↳Narrowing Transformation
GCD(s(s(s(y'))), s(s(s(x')))) -> IFGCD(le(x', y'), s(s(s(y'))), s(s(s(x'))))
GCD(s(s(0)), s(s(s(x')))) -> IFGCD(false, s(s(0)), s(s(s(x'))))
IFGCD(true, s(x''), s(s(y''))) -> GCD(pred(minus(x'', y'')), s(s(y'')))
GCD(s(s(y''')), s(s(0))) -> IFGCD(true, s(s(y''')), s(s(0)))
IFGCD(false, s(s(y'')), s(y0)) -> GCD(pred(minus(y0, y'')), s(s(y'')))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
two new Dependency Pairs are created:
IFGCD(true, s(x''), s(s(y''))) -> GCD(pred(minus(x'', y'')), s(s(y'')))
IFGCD(true, s(x'''), s(s(0))) -> GCD(pred(x'''), s(s(0)))
IFGCD(true, s(x'''), s(s(s(y')))) -> GCD(pred(pred(minus(x''', y'))), s(s(s(y'))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 17
↳Argument Filtering and Ordering
IFGCD(true, s(x'''), s(s(0))) -> GCD(pred(x'''), s(s(0)))
GCD(s(s(y''')), s(s(0))) -> IFGCD(true, s(s(y''')), s(s(0)))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
IFGCD(true, s(x'''), s(s(0))) -> GCD(pred(x'''), s(s(0)))
pred(s(x)) -> x
IFGCD(x1, x2, x3) -> x2
s(x1) -> s(x1)
GCD(x1, x2) -> x1
pred(x1) -> x1
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 21
↳Dependency Graph
GCD(s(s(y''')), s(s(0))) -> IFGCD(true, s(s(y''')), s(s(0)))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 18
↳Narrowing Transformation
IFGCD(true, s(x'''), s(s(s(y')))) -> GCD(pred(pred(minus(x''', y'))), s(s(s(y'))))
GCD(s(s(0)), s(s(s(x')))) -> IFGCD(false, s(s(0)), s(s(s(x'))))
IFGCD(false, s(s(y'')), s(y0)) -> GCD(pred(minus(y0, y'')), s(s(y'')))
GCD(s(s(s(y'))), s(s(s(x')))) -> IFGCD(le(x', y'), s(s(s(y'))), s(s(s(x'))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
two new Dependency Pairs are created:
IFGCD(false, s(s(y'')), s(y0)) -> GCD(pred(minus(y0, y'')), s(s(y'')))
IFGCD(false, s(s(0)), s(y0')) -> GCD(pred(y0'), s(s(0)))
IFGCD(false, s(s(s(y'))), s(y0')) -> GCD(pred(pred(minus(y0', y'))), s(s(s(y'))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 19
↳Narrowing Transformation
IFGCD(false, s(s(s(y'))), s(y0')) -> GCD(pred(pred(minus(y0', y'))), s(s(s(y'))))
GCD(s(s(s(y'))), s(s(s(x')))) -> IFGCD(le(x', y'), s(s(s(y'))), s(s(s(x'))))
IFGCD(true, s(x'''), s(s(s(y')))) -> GCD(pred(pred(minus(x''', y'))), s(s(s(y'))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
three new Dependency Pairs are created:
GCD(s(s(s(y'))), s(s(s(x')))) -> IFGCD(le(x', y'), s(s(s(y'))), s(s(s(x'))))
GCD(s(s(s(y''))), s(s(s(0)))) -> IFGCD(true, s(s(s(y''))), s(s(s(0))))
GCD(s(s(s(0))), s(s(s(s(x''))))) -> IFGCD(false, s(s(s(0))), s(s(s(s(x'')))))
GCD(s(s(s(s(y'')))), s(s(s(s(x''))))) -> IFGCD(le(x'', y''), s(s(s(s(y'')))), s(s(s(s(x'')))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 22
↳Narrowing Transformation
GCD(s(s(s(s(y'')))), s(s(s(s(x''))))) -> IFGCD(le(x'', y''), s(s(s(s(y'')))), s(s(s(s(x'')))))
GCD(s(s(s(0))), s(s(s(s(x''))))) -> IFGCD(false, s(s(s(0))), s(s(s(s(x'')))))
IFGCD(true, s(x'''), s(s(s(y')))) -> GCD(pred(pred(minus(x''', y'))), s(s(s(y'))))
GCD(s(s(s(y''))), s(s(s(0)))) -> IFGCD(true, s(s(s(y''))), s(s(s(0))))
IFGCD(false, s(s(s(y'))), s(y0')) -> GCD(pred(pred(minus(y0', y'))), s(s(s(y'))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
two new Dependency Pairs are created:
IFGCD(true, s(x'''), s(s(s(y')))) -> GCD(pred(pred(minus(x''', y'))), s(s(s(y'))))
IFGCD(true, s(x''''), s(s(s(0)))) -> GCD(pred(pred(x'''')), s(s(s(0))))
IFGCD(true, s(x''''), s(s(s(s(y''))))) -> GCD(pred(pred(pred(minus(x'''', y'')))), s(s(s(s(y'')))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 23
↳Narrowing Transformation
IFGCD(true, s(x''''), s(s(s(0)))) -> GCD(pred(pred(x'''')), s(s(s(0))))
GCD(s(s(s(y''))), s(s(s(0)))) -> IFGCD(true, s(s(s(y''))), s(s(s(0))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
one new Dependency Pair is created:
IFGCD(true, s(x''''), s(s(s(0)))) -> GCD(pred(pred(x'''')), s(s(s(0))))
IFGCD(true, s(s(x')), s(s(s(0)))) -> GCD(pred(x'), s(s(s(0))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 25
↳Narrowing Transformation
IFGCD(true, s(s(x')), s(s(s(0)))) -> GCD(pred(x'), s(s(s(0))))
GCD(s(s(s(y''))), s(s(s(0)))) -> IFGCD(true, s(s(s(y''))), s(s(s(0))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
one new Dependency Pair is created:
IFGCD(true, s(s(x')), s(s(s(0)))) -> GCD(pred(x'), s(s(s(0))))
IFGCD(true, s(s(s(x''))), s(s(s(0)))) -> GCD(x'', s(s(s(0))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 27
↳Argument Filtering and Ordering
IFGCD(true, s(s(s(x''))), s(s(s(0)))) -> GCD(x'', s(s(s(0))))
GCD(s(s(s(y''))), s(s(s(0)))) -> IFGCD(true, s(s(s(y''))), s(s(s(0))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
IFGCD(true, s(s(s(x''))), s(s(s(0)))) -> GCD(x'', s(s(s(0))))
IFGCD(x1, x2, x3) -> x2
s(x1) -> s(x1)
GCD(x1, x2) -> x1
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 37
↳Dependency Graph
GCD(s(s(s(y''))), s(s(s(0)))) -> IFGCD(true, s(s(s(y''))), s(s(s(0))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 24
↳Narrowing Transformation
IFGCD(true, s(x''''), s(s(s(s(y''))))) -> GCD(pred(pred(pred(minus(x'''', y'')))), s(s(s(s(y'')))))
GCD(s(s(s(0))), s(s(s(s(x''))))) -> IFGCD(false, s(s(s(0))), s(s(s(s(x'')))))
IFGCD(false, s(s(s(y'))), s(y0')) -> GCD(pred(pred(minus(y0', y'))), s(s(s(y'))))
GCD(s(s(s(s(y'')))), s(s(s(s(x''))))) -> IFGCD(le(x'', y''), s(s(s(s(y'')))), s(s(s(s(x'')))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
two new Dependency Pairs are created:
IFGCD(false, s(s(s(y'))), s(y0')) -> GCD(pred(pred(minus(y0', y'))), s(s(s(y'))))
IFGCD(false, s(s(s(0))), s(y0'')) -> GCD(pred(pred(y0'')), s(s(s(0))))
IFGCD(false, s(s(s(s(y'')))), s(y0'')) -> GCD(pred(pred(pred(minus(y0'', y'')))), s(s(s(s(y'')))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 26
↳Narrowing Transformation
IFGCD(false, s(s(s(s(y'')))), s(y0'')) -> GCD(pred(pred(pred(minus(y0'', y'')))), s(s(s(s(y'')))))
GCD(s(s(s(s(y'')))), s(s(s(s(x''))))) -> IFGCD(le(x'', y''), s(s(s(s(y'')))), s(s(s(s(x'')))))
IFGCD(true, s(x''''), s(s(s(s(y''))))) -> GCD(pred(pred(pred(minus(x'''', y'')))), s(s(s(s(y'')))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
three new Dependency Pairs are created:
GCD(s(s(s(s(y'')))), s(s(s(s(x''))))) -> IFGCD(le(x'', y''), s(s(s(s(y'')))), s(s(s(s(x'')))))
GCD(s(s(s(s(y''')))), s(s(s(s(0))))) -> IFGCD(true, s(s(s(s(y''')))), s(s(s(s(0)))))
GCD(s(s(s(s(0)))), s(s(s(s(s(x')))))) -> IFGCD(false, s(s(s(s(0)))), s(s(s(s(s(x'))))))
GCD(s(s(s(s(s(y'))))), s(s(s(s(s(x')))))) -> IFGCD(le(x', y'), s(s(s(s(s(y'))))), s(s(s(s(s(x'))))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 28
↳Narrowing Transformation
GCD(s(s(s(s(s(y'))))), s(s(s(s(s(x')))))) -> IFGCD(le(x', y'), s(s(s(s(s(y'))))), s(s(s(s(s(x'))))))
GCD(s(s(s(s(0)))), s(s(s(s(s(x')))))) -> IFGCD(false, s(s(s(s(0)))), s(s(s(s(s(x'))))))
IFGCD(true, s(x''''), s(s(s(s(y''))))) -> GCD(pred(pred(pred(minus(x'''', y'')))), s(s(s(s(y'')))))
GCD(s(s(s(s(y''')))), s(s(s(s(0))))) -> IFGCD(true, s(s(s(s(y''')))), s(s(s(s(0)))))
IFGCD(false, s(s(s(s(y'')))), s(y0'')) -> GCD(pred(pred(pred(minus(y0'', y'')))), s(s(s(s(y'')))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
two new Dependency Pairs are created:
IFGCD(true, s(x''''), s(s(s(s(y''))))) -> GCD(pred(pred(pred(minus(x'''', y'')))), s(s(s(s(y'')))))
IFGCD(true, s(x'''''), s(s(s(s(0))))) -> GCD(pred(pred(pred(x'''''))), s(s(s(s(0)))))
IFGCD(true, s(x'''''), s(s(s(s(s(y')))))) -> GCD(pred(pred(pred(pred(minus(x''''', y'))))), s(s(s(s(s(y'))))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 29
↳Narrowing Transformation
IFGCD(true, s(x'''''), s(s(s(s(0))))) -> GCD(pred(pred(pred(x'''''))), s(s(s(s(0)))))
GCD(s(s(s(s(y''')))), s(s(s(s(0))))) -> IFGCD(true, s(s(s(s(y''')))), s(s(s(s(0)))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
one new Dependency Pair is created:
IFGCD(true, s(x'''''), s(s(s(s(0))))) -> GCD(pred(pred(pred(x'''''))), s(s(s(s(0)))))
IFGCD(true, s(s(x')), s(s(s(s(0))))) -> GCD(pred(pred(x')), s(s(s(s(0)))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 31
↳Argument Filtering and Ordering
IFGCD(true, s(s(x')), s(s(s(s(0))))) -> GCD(pred(pred(x')), s(s(s(s(0)))))
GCD(s(s(s(s(y''')))), s(s(s(s(0))))) -> IFGCD(true, s(s(s(s(y''')))), s(s(s(s(0)))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
IFGCD(true, s(s(x')), s(s(s(s(0))))) -> GCD(pred(pred(x')), s(s(s(s(0)))))
pred(s(x)) -> x
GCD(x1, x2) -> x1
s(x1) -> s(x1)
IFGCD(x1, x2, x3) -> x2
pred(x1) -> x1
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 38
↳Dependency Graph
GCD(s(s(s(s(y''')))), s(s(s(s(0))))) -> IFGCD(true, s(s(s(s(y''')))), s(s(s(s(0)))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 30
↳Narrowing Transformation
IFGCD(true, s(x'''''), s(s(s(s(s(y')))))) -> GCD(pred(pred(pred(pred(minus(x''''', y'))))), s(s(s(s(s(y'))))))
GCD(s(s(s(s(0)))), s(s(s(s(s(x')))))) -> IFGCD(false, s(s(s(s(0)))), s(s(s(s(s(x'))))))
IFGCD(false, s(s(s(s(y'')))), s(y0'')) -> GCD(pred(pred(pred(minus(y0'', y'')))), s(s(s(s(y'')))))
GCD(s(s(s(s(s(y'))))), s(s(s(s(s(x')))))) -> IFGCD(le(x', y'), s(s(s(s(s(y'))))), s(s(s(s(s(x'))))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
two new Dependency Pairs are created:
IFGCD(false, s(s(s(s(y'')))), s(y0'')) -> GCD(pred(pred(pred(minus(y0'', y'')))), s(s(s(s(y'')))))
IFGCD(false, s(s(s(s(0)))), s(y0''')) -> GCD(pred(pred(pred(y0'''))), s(s(s(s(0)))))
IFGCD(false, s(s(s(s(s(y'))))), s(y0''')) -> GCD(pred(pred(pred(pred(minus(y0''', y'))))), s(s(s(s(s(y'))))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 32
↳Narrowing Transformation
IFGCD(false, s(s(s(s(s(y'))))), s(y0''')) -> GCD(pred(pred(pred(pred(minus(y0''', y'))))), s(s(s(s(s(y'))))))
GCD(s(s(s(s(s(y'))))), s(s(s(s(s(x')))))) -> IFGCD(le(x', y'), s(s(s(s(s(y'))))), s(s(s(s(s(x'))))))
IFGCD(true, s(x'''''), s(s(s(s(s(y')))))) -> GCD(pred(pred(pred(pred(minus(x''''', y'))))), s(s(s(s(s(y'))))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
three new Dependency Pairs are created:
GCD(s(s(s(s(s(y'))))), s(s(s(s(s(x')))))) -> IFGCD(le(x', y'), s(s(s(s(s(y'))))), s(s(s(s(s(x'))))))
GCD(s(s(s(s(s(y''))))), s(s(s(s(s(0)))))) -> IFGCD(true, s(s(s(s(s(y''))))), s(s(s(s(s(0))))))
GCD(s(s(s(s(s(0))))), s(s(s(s(s(s(x''))))))) -> IFGCD(false, s(s(s(s(s(0))))), s(s(s(s(s(s(x'')))))))
GCD(s(s(s(s(s(s(y'')))))), s(s(s(s(s(s(x''))))))) -> IFGCD(le(x'', y''), s(s(s(s(s(s(y'')))))), s(s(s(s(s(s(x'')))))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 33
↳Narrowing Transformation
GCD(s(s(s(s(s(s(y'')))))), s(s(s(s(s(s(x''))))))) -> IFGCD(le(x'', y''), s(s(s(s(s(s(y'')))))), s(s(s(s(s(s(x'')))))))
GCD(s(s(s(s(s(0))))), s(s(s(s(s(s(x''))))))) -> IFGCD(false, s(s(s(s(s(0))))), s(s(s(s(s(s(x'')))))))
IFGCD(true, s(x'''''), s(s(s(s(s(y')))))) -> GCD(pred(pred(pred(pred(minus(x''''', y'))))), s(s(s(s(s(y'))))))
GCD(s(s(s(s(s(y''))))), s(s(s(s(s(0)))))) -> IFGCD(true, s(s(s(s(s(y''))))), s(s(s(s(s(0))))))
IFGCD(false, s(s(s(s(s(y'))))), s(y0''')) -> GCD(pred(pred(pred(pred(minus(y0''', y'))))), s(s(s(s(s(y'))))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
two new Dependency Pairs are created:
IFGCD(true, s(x'''''), s(s(s(s(s(y')))))) -> GCD(pred(pred(pred(pred(minus(x''''', y'))))), s(s(s(s(s(y'))))))
IFGCD(true, s(x''''''), s(s(s(s(s(0)))))) -> GCD(pred(pred(pred(pred(x'''''')))), s(s(s(s(s(0))))))
IFGCD(true, s(x''''''), s(s(s(s(s(s(y''))))))) -> GCD(pred(pred(pred(pred(pred(minus(x'''''', y'')))))), s(s(s(s(s(s(y'')))))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 34
↳Argument Filtering and Ordering
IFGCD(true, s(x''''''), s(s(s(s(s(0)))))) -> GCD(pred(pred(pred(pred(x'''''')))), s(s(s(s(s(0))))))
GCD(s(s(s(s(s(y''))))), s(s(s(s(s(0)))))) -> IFGCD(true, s(s(s(s(s(y''))))), s(s(s(s(s(0))))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
IFGCD(true, s(x''''''), s(s(s(s(s(0)))))) -> GCD(pred(pred(pred(pred(x'''''')))), s(s(s(s(s(0))))))
pred(s(x)) -> x
GCD(x1, x2) -> x1
s(x1) -> s(x1)
IFGCD(x1, x2, x3) -> x2
pred(x1) -> x1
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 39
↳Dependency Graph
GCD(s(s(s(s(s(y''))))), s(s(s(s(s(0)))))) -> IFGCD(true, s(s(s(s(s(y''))))), s(s(s(s(s(0))))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 35
↳Narrowing Transformation
IFGCD(true, s(x''''''), s(s(s(s(s(s(y''))))))) -> GCD(pred(pred(pred(pred(pred(minus(x'''''', y'')))))), s(s(s(s(s(s(y'')))))))
GCD(s(s(s(s(s(0))))), s(s(s(s(s(s(x''))))))) -> IFGCD(false, s(s(s(s(s(0))))), s(s(s(s(s(s(x'')))))))
IFGCD(false, s(s(s(s(s(y'))))), s(y0''')) -> GCD(pred(pred(pred(pred(minus(y0''', y'))))), s(s(s(s(s(y'))))))
GCD(s(s(s(s(s(s(y'')))))), s(s(s(s(s(s(x''))))))) -> IFGCD(le(x'', y''), s(s(s(s(s(s(y'')))))), s(s(s(s(s(s(x'')))))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost
two new Dependency Pairs are created:
IFGCD(false, s(s(s(s(s(y'))))), s(y0''')) -> GCD(pred(pred(pred(pred(minus(y0''', y'))))), s(s(s(s(s(y'))))))
IFGCD(false, s(s(s(s(s(0))))), s(y0'''')) -> GCD(pred(pred(pred(pred(y0'''')))), s(s(s(s(s(0))))))
IFGCD(false, s(s(s(s(s(s(y'')))))), s(y0'''')) -> GCD(pred(pred(pred(pred(pred(minus(y0'''', y'')))))), s(s(s(s(s(s(y'')))))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 36
↳Remaining Obligation(s)
IFGCD(false, s(s(s(s(s(s(y'')))))), s(y0'''')) -> GCD(pred(pred(pred(pred(pred(minus(y0'''', y'')))))), s(s(s(s(s(s(y'')))))))
GCD(s(s(s(s(s(s(y'')))))), s(s(s(s(s(s(x''))))))) -> IFGCD(le(x'', y''), s(s(s(s(s(s(y'')))))), s(s(s(s(s(s(x'')))))))
IFGCD(true, s(x''''''), s(s(s(s(s(s(y''))))))) -> GCD(pred(pred(pred(pred(pred(minus(x'''''', y'')))))), s(s(s(s(s(s(y'')))))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
pred(s(x)) -> x
minus(x, 0) -> x
minus(x, s(y)) -> pred(minus(x, y))
gcd(0, y) -> y
gcd(s(x), 0) -> s(x)
gcd(s(x), s(y)) -> ifgcd(le(y, x), s(x), s(y))
ifgcd(true, s(x), s(y)) -> gcd(minus(x, y), s(y))
ifgcd(false, s(x), s(y)) -> gcd(minus(y, x), s(x))
innermost