R
↳Dependency Pair Analysis
LE(s(x), s(y)) -> LE(x, y)
MINUS(s(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)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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
↳Polynomial 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)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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'''')))
POL(LE(x1, x2)) = 1 + x1 POL(s(x1)) = 1 + 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)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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(s(x), s(y)) -> MINUS(x, y)
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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(s(x), s(y)) -> MINUS(x, y)
MINUS(s(s(x'')), s(s(y''))) -> MINUS(s(x''), s(y''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 7
↳Forward Instantiation Transformation
→DP Problem 3
↳Nar
MINUS(s(s(x'')), s(s(y''))) -> MINUS(s(x''), s(y''))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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(s(s(x'')), s(s(y''))) -> MINUS(s(x''), s(y''))
MINUS(s(s(s(x''''))), s(s(s(y'''')))) -> MINUS(s(s(x'''')), s(s(y'''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 7
↳FwdInst
...
→DP Problem 8
↳Polynomial Ordering
→DP Problem 3
↳Nar
MINUS(s(s(s(x''''))), s(s(s(y'''')))) -> MINUS(s(s(x'''')), s(s(y'''')))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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(s(s(s(x''''))), s(s(s(y'''')))) -> MINUS(s(s(x'''')), s(s(y'''')))
POL(MINUS(x1, x2)) = 1 + x1 POL(s(x1)) = 1 + 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)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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(s(x'')), s(s(y''))) -> GCD(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)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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
↳Polynomial 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)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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
GCD(s(s(x'''''')), s(0)) -> IFGCD(true, s(s(x'''''')), s(0))
POL(0) = 0 POL(GCD(x1, x2)) = 1 + x1 POL(IF_GCD(x1, x2, x3)) = x2 POL(true) = 0 POL(s(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 20
↳Dependency Graph
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)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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(s(x'')), s(s(y''))) -> GCD(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)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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(s(x''))) -> GCD(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 14
↳Narrowing Transformation
IFGCD(false, s(s(y'')), s(s(x''))) -> GCD(minus(x'', y''), s(s(y'')))
GCD(s(s(y'')), s(s(x''))) -> IFGCD(le(x'', y''), s(s(y'')), s(s(x'')))
IFGCD(true, s(s(x'')), s(s(y''))) -> GCD(minus(x'', y''), s(s(y'')))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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(s(x'')), s(s(y''))) -> GCD(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(s(x''))) -> GCD(minus(x'', y''), s(s(y'')))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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(s(x'')), s(s(y''))) -> GCD(minus(x'', y''), s(s(y'')))
IFGCD(true, s(s(x''')), s(s(0))) -> GCD(x''', s(s(0)))
IFGCD(true, s(s(s(x'))), s(s(s(y')))) -> GCD(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
↳Polynomial Ordering
IFGCD(true, s(s(x''')), s(s(0))) -> GCD(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)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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(0))) -> GCD(x''', s(s(0)))
POL(0) = 0 POL(GCD(x1, x2)) = x1 POL(IF_GCD(x1, x2, x3)) = x2 POL(true) = 0 POL(s(x1)) = 1 + 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)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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(s(s(x'))), s(s(s(y')))) -> GCD(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(s(x''))) -> GCD(minus(x'', 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)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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(s(x''))) -> GCD(minus(x'', y''), s(s(y'')))
IFGCD(false, s(s(0)), s(s(x'''))) -> GCD(x''', s(s(0)))
IFGCD(false, s(s(s(y'))), s(s(s(x')))) -> GCD(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 19
↳Polynomial Ordering
IFGCD(false, s(s(s(y'))), s(s(s(x')))) -> GCD(minus(x', 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(s(s(x'))), s(s(s(y')))) -> GCD(minus(x', y'), s(s(s(y'))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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(false, s(s(s(y'))), s(s(s(x')))) -> GCD(minus(x', y'), s(s(s(y'))))
IFGCD(true, s(s(s(x'))), s(s(s(y')))) -> GCD(minus(x', y'), s(s(s(y'))))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
POL(0) = 0 POL(GCD(x1, x2)) = x1 + x2 POL(false) = 0 POL(minus(x1, x2)) = x1 POL(true) = 0 POL(IF_GCD(x1, x2, x3)) = x2 + x3 POL(s(x1)) = 1 + x1 POL(le(x1, x2)) = 0
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Nar
...
→DP Problem 22
↳Dependency Graph
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)
minus(x, 0) -> x
minus(s(x), s(y)) -> 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