R
↳Dependency Pair Analysis
LE(s(x), s(y)) -> LE(x, y)
MINUS(s(x), y) -> IFMINUS(le(s(x), y), s(x), y)
MINUS(s(x), y) -> LE(s(x), y)
IFMINUS(false, s(x), 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
↳Nar
→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(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Nar
→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(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Nar
→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(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Nar
→DP Problem 3
↳Nar
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Narrowing Transformation
→DP Problem 3
↳Nar
IFMINUS(false, s(x), y) -> MINUS(x, y)
MINUS(s(x), y) -> IFMINUS(le(s(x), y), s(x), y)
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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:
MINUS(s(x), y) -> IFMINUS(le(s(x), y), s(x), y)
MINUS(s(x''), 0) -> IFMINUS(false, s(x''), 0)
MINUS(s(x''), s(y'')) -> IFMINUS(le(x'', y''), s(x''), s(y''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 7
↳Narrowing Transformation
→DP Problem 3
↳Nar
MINUS(s(x''), s(y'')) -> IFMINUS(le(x'', y''), s(x''), s(y''))
MINUS(s(x''), 0) -> IFMINUS(false, s(x''), 0)
IFMINUS(false, s(x), y) -> MINUS(x, y)
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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:
MINUS(s(x''), s(y'')) -> IFMINUS(le(x'', y''), s(x''), s(y''))
MINUS(s(0), s(y''')) -> IFMINUS(true, s(0), s(y'''))
MINUS(s(s(x')), s(0)) -> IFMINUS(false, s(s(x')), s(0))
MINUS(s(s(x')), s(s(y'))) -> IFMINUS(le(x', y'), s(s(x')), s(s(y')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 7
↳Nar
...
→DP Problem 8
↳Instantiation Transformation
→DP Problem 3
↳Nar
MINUS(s(s(x')), s(s(y'))) -> IFMINUS(le(x', y'), s(s(x')), s(s(y')))
MINUS(s(s(x')), s(0)) -> IFMINUS(false, s(s(x')), s(0))
IFMINUS(false, s(x), y) -> MINUS(x, y)
MINUS(s(x''), 0) -> IFMINUS(false, s(x''), 0)
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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:
IFMINUS(false, s(x), y) -> MINUS(x, y)
IFMINUS(false, s(x'), 0) -> MINUS(x', 0)
IFMINUS(false, s(s(x''')), s(0)) -> MINUS(s(x'''), s(0))
IFMINUS(false, s(s(x'0')), s(s(y'''))) -> MINUS(s(x'0'), s(s(y''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 7
↳Nar
...
→DP Problem 9
↳Forward Instantiation Transformation
→DP Problem 3
↳Nar
IFMINUS(false, s(s(x'0')), s(s(y'''))) -> MINUS(s(x'0'), s(s(y''')))
MINUS(s(s(x')), s(s(y'))) -> IFMINUS(le(x', y'), s(s(x')), s(s(y')))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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:
IFMINUS(false, s(s(x'0')), s(s(y'''))) -> MINUS(s(x'0'), s(s(y''')))
IFMINUS(false, s(s(s(x'''))), s(s(y''''))) -> MINUS(s(s(x''')), s(s(y'''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 7
↳Nar
...
→DP Problem 12
↳Argument Filtering and Ordering
→DP Problem 3
↳Nar
IFMINUS(false, s(s(s(x'''))), s(s(y''''))) -> MINUS(s(s(x''')), s(s(y'''')))
MINUS(s(s(x')), s(s(y'))) -> IFMINUS(le(x', y'), s(s(x')), s(s(y')))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
IFMINUS(false, s(s(s(x'''))), s(s(y''''))) -> MINUS(s(s(x''')), s(s(y'''')))
IFMINUS(x1, x2, x3) -> x2
s(x1) -> s(x1)
MINUS(x1, x2) -> x1
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 7
↳Nar
...
→DP Problem 16
↳Dependency Graph
→DP Problem 3
↳Nar
MINUS(s(s(x')), s(s(y'))) -> IFMINUS(le(x', y'), s(s(x')), s(s(y')))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Nar
→DP Problem 7
↳Nar
...
→DP Problem 10
↳Forward Instantiation Transformation
→DP Problem 3
↳Nar
IFMINUS(false, s(s(x''')), s(0)) -> MINUS(s(x'''), s(0))
MINUS(s(s(x')), s(0)) -> IFMINUS(false, s(s(x')), s(0))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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:
IFMINUS(false, s(s(x''')), s(0)) -> MINUS(s(x'''), s(0))
IFMINUS(false, s(s(s(x''''))), s(0)) -> MINUS(s(s(x'''')), s(0))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 7
↳Nar
...
→DP Problem 13
↳Argument Filtering and Ordering
→DP Problem 3
↳Nar
IFMINUS(false, s(s(s(x''''))), s(0)) -> MINUS(s(s(x'''')), s(0))
MINUS(s(s(x')), s(0)) -> IFMINUS(false, s(s(x')), s(0))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
IFMINUS(false, s(s(s(x''''))), s(0)) -> MINUS(s(s(x'''')), s(0))
IFMINUS(x1, x2, x3) -> x2
s(x1) -> s(x1)
MINUS(x1, x2) -> x1
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 7
↳Nar
...
→DP Problem 17
↳Dependency Graph
→DP Problem 3
↳Nar
MINUS(s(s(x')), s(0)) -> IFMINUS(false, s(s(x')), s(0))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Nar
→DP Problem 7
↳Nar
...
→DP Problem 11
↳Forward Instantiation Transformation
→DP Problem 3
↳Nar
IFMINUS(false, s(x'), 0) -> MINUS(x', 0)
MINUS(s(x''), 0) -> IFMINUS(false, s(x''), 0)
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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:
IFMINUS(false, s(x'), 0) -> MINUS(x', 0)
IFMINUS(false, s(s(x'''')), 0) -> MINUS(s(x''''), 0)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 7
↳Nar
...
→DP Problem 14
↳Forward Instantiation Transformation
→DP Problem 3
↳Nar
IFMINUS(false, s(s(x'''')), 0) -> MINUS(s(x''''), 0)
MINUS(s(x''), 0) -> IFMINUS(false, s(x''), 0)
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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''), 0) -> IFMINUS(false, s(x''), 0)
MINUS(s(s(x'''''')), 0) -> IFMINUS(false, s(s(x'''''')), 0)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 7
↳Nar
...
→DP Problem 15
↳Argument Filtering and Ordering
→DP Problem 3
↳Nar
MINUS(s(s(x'''''')), 0) -> IFMINUS(false, s(s(x'''''')), 0)
IFMINUS(false, s(s(x'''')), 0) -> MINUS(s(x''''), 0)
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
IFMINUS(false, s(s(x'''')), 0) -> MINUS(s(x''''), 0)
MINUS(x1, x2) -> x1
s(x1) -> s(x1)
IFMINUS(x1, x2, x3) -> x2
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 7
↳Nar
...
→DP Problem 18
↳Dependency Graph
→DP Problem 3
↳Nar
MINUS(s(s(x'''''')), 0) -> IFMINUS(false, s(s(x'''''')), 0)
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Nar
→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(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳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(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(0), s(y'')) -> GCD(0, s(y''))
IFGCD(true, s(s(x'')), s(y'')) -> GCD(ifminus(le(s(x''), y''), s(x''), y''), s(y''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 20
↳Narrowing Transformation
GCD(s(0), s(s(x''))) -> IFGCD(false, s(0), s(s(x'')))
IFGCD(true, s(s(x'')), s(y'')) -> GCD(ifminus(le(s(x''), y''), s(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))
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(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(x'), s(0)) -> GCD(0, s(x'))
IFGCD(false, s(x0), s(s(x''))) -> GCD(ifminus(le(s(x''), x0), s(x''), x0), s(x0))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 21
↳Narrowing Transformation
GCD(s(s(y'')), s(s(x''))) -> IFGCD(le(x'', y''), s(s(y'')), s(s(x'')))
IFGCD(true, s(s(x'')), s(y'')) -> GCD(ifminus(le(s(x''), y''), s(x''), y''), s(y''))
GCD(s(x'), s(0)) -> IFGCD(true, s(x'), s(0))
IFGCD(false, s(x0), s(s(x''))) -> GCD(ifminus(le(s(x''), x0), s(x''), x0), s(x0))
GCD(s(0), s(s(x''))) -> IFGCD(false, s(0), s(s(x'')))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 22
↳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'))))
GCD(s(s(y''')), s(s(0))) -> IFGCD(true, s(s(y''')), s(s(0)))
IFGCD(false, s(x0), s(s(x''))) -> GCD(ifminus(le(s(x''), x0), s(x''), x0), s(x0))
GCD(s(0), s(s(x''))) -> IFGCD(false, s(0), s(s(x'')))
GCD(s(x'), s(0)) -> IFGCD(true, s(x'), s(0))
IFGCD(true, s(s(x'')), s(y'')) -> GCD(ifminus(le(s(x''), y''), s(x''), y''), s(y''))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(y'')) -> GCD(ifminus(le(s(x''), y''), s(x''), y''), s(y''))
IFGCD(true, s(s(x''')), s(0)) -> GCD(ifminus(false, s(x'''), 0), s(0))
IFGCD(true, s(s(x''')), s(s(y'))) -> GCD(ifminus(le(x''', y'), s(x'''), s(y')), s(s(y')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 23
↳Rewriting Transformation
IFGCD(true, s(s(x''')), s(0)) -> GCD(ifminus(false, s(x'''), 0), 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(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(0)) -> GCD(ifminus(false, s(x'''), 0), s(0))
IFGCD(true, s(s(x''')), s(0)) -> GCD(s(minus(x''', 0)), s(0))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 25
↳Forward Instantiation Transformation
IFGCD(true, s(s(x''')), s(0)) -> GCD(s(minus(x''', 0)), 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(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 27
↳Narrowing Transformation
GCD(s(s(x''''')), s(0)) -> IFGCD(true, s(s(x''''')), s(0))
IFGCD(true, s(s(x''')), s(0)) -> GCD(s(minus(x''', 0)), s(0))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(0)) -> GCD(s(minus(x''', 0)), s(0))
IFGCD(true, s(s(0)), s(0)) -> GCD(s(0), s(0))
IFGCD(true, s(s(s(x'))), s(0)) -> GCD(s(ifminus(le(s(x'), 0), s(x'), 0)), s(0))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 29
↳Rewriting Transformation
IFGCD(true, s(s(s(x'))), s(0)) -> GCD(s(ifminus(le(s(x'), 0), s(x'), 0)), s(0))
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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(x'))), s(0)) -> GCD(s(ifminus(le(s(x'), 0), s(x'), 0)), s(0))
IFGCD(true, s(s(s(x'))), s(0)) -> GCD(s(ifminus(false, s(x'), 0)), s(0))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 31
↳Rewriting Transformation
IFGCD(true, s(s(s(x'))), s(0)) -> GCD(s(ifminus(false, s(x'), 0)), s(0))
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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(x'))), s(0)) -> GCD(s(ifminus(false, s(x'), 0)), s(0))
IFGCD(true, s(s(s(x'))), s(0)) -> GCD(s(s(minus(x', 0))), s(0))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 34
↳Forward Instantiation Transformation
IFGCD(true, s(s(s(x'))), s(0)) -> GCD(s(s(minus(x', 0))), s(0))
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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(x''''')), s(0)) -> IFGCD(true, s(s(x''''')), s(0))
GCD(s(s(s(x'''))), s(0)) -> IFGCD(true, s(s(s(x'''))), s(0))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 61
↳Remaining Obligation(s)
GCD(s(s(s(x'''))), s(0)) -> IFGCD(true, s(s(s(x'''))), s(0))
IFGCD(true, s(s(s(x'))), s(0)) -> GCD(s(s(minus(x', 0))), s(0))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(x'''))), s(s(0))) -> IFGCD(true, s(s(s(x'''))), s(s(0)))
IFGCD(true, s(s(s(x'))), s(s(0))) -> GCD(s(ifminus(le(x', 0), s(x'), s(0))), s(s(0)))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(x'''')))), s(s(s(0)))) -> IFGCD(true, s(s(s(s(x'''')))), s(s(s(0))))
IFGCD(true, s(s(s(s(x'')))), s(s(s(0)))) -> GCD(s(ifminus(le(x'', 0), s(s(x'')), s(s(0)))), s(s(s(0))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(y''))))), s(s(s(s(s(x')))))) -> GCD(ifminus(le(x', y''), s(s(s(s(x')))), s(s(s(s(y''))))), 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'')))))))
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(true, s(s(s(s(s(x'))))), s(s(s(s(s(y'')))))) -> GCD(ifminus(le(x', y''), s(s(s(s(x')))), s(s(s(s(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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(s(x'''))))), s(s(s(s(0))))) -> IFGCD(true, s(s(s(s(s(x'''))))), s(s(s(s(0)))))
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(ifminus(le(x', 0), s(s(s(x'))), s(s(s(0))))), s(s(s(s(0)))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 24
↳Narrowing Transformation
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(ifminus(le(x''', y'), s(x'''), s(y')), s(s(y')))
GCD(s(s(y''')), s(s(0))) -> IFGCD(true, s(s(y''')), s(s(0)))
GCD(s(0), s(s(x''))) -> IFGCD(false, s(0), s(s(x'')))
IFGCD(false, s(x0), s(s(x''))) -> GCD(ifminus(le(s(x''), x0), s(x''), x0), s(x0))
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(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(x0), s(s(x''))) -> GCD(ifminus(le(s(x''), x0), s(x''), x0), s(x0))
IFGCD(false, s(0), s(s(x'''))) -> GCD(ifminus(false, s(x'''), 0), s(0))
IFGCD(false, s(s(y')), s(s(x'''))) -> GCD(ifminus(le(x''', y'), s(x'''), s(y')), s(s(y')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 26
↳Narrowing Transformation
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(x''')), s(s(y'))) -> GCD(ifminus(le(x''', y'), s(x'''), s(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(ifminus(le(x''', y'), s(x'''), s(y')), s(s(y')))
GCD(s(s(0)), s(s(s(x')))) -> IFGCD(false, s(s(0)), s(s(s(x'))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 28
↳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'')))))
GCD(s(s(s(y''))), s(s(s(0)))) -> IFGCD(true, s(s(s(y''))), s(s(s(0))))
IFGCD(false, s(s(y')), s(s(x'''))) -> GCD(ifminus(le(x''', y'), s(x'''), s(y')), s(s(y')))
GCD(s(s(0)), s(s(s(x')))) -> IFGCD(false, s(s(0)), s(s(s(x'))))
GCD(s(s(y''')), s(s(0))) -> IFGCD(true, s(s(y''')), s(s(0)))
IFGCD(true, s(s(x''')), s(s(y'))) -> GCD(ifminus(le(x''', y'), s(x'''), s(y')), s(s(y')))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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:
IFGCD(true, s(s(x''')), s(s(y'))) -> GCD(ifminus(le(x''', y'), s(x'''), s(y')), s(s(y')))
IFGCD(true, s(s(0)), s(s(y''))) -> GCD(ifminus(true, s(0), s(y'')), s(s(y'')))
IFGCD(true, s(s(s(x'))), s(s(0))) -> GCD(ifminus(false, s(s(x')), s(0)), s(s(0)))
IFGCD(true, s(s(s(x'))), s(s(s(y'')))) -> GCD(ifminus(le(x', y''), s(s(x')), s(s(y''))), s(s(s(y''))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 30
↳Rewriting Transformation
IFGCD(true, s(s(s(x'))), s(s(0))) -> GCD(ifminus(false, s(s(x')), s(0)), s(s(0)))
GCD(s(s(s(0))), s(s(s(s(x''))))) -> IFGCD(false, s(s(s(0))), s(s(s(s(x'')))))
IFGCD(true, s(s(s(x'))), s(s(s(y'')))) -> GCD(ifminus(le(x', y''), s(s(x')), s(s(y''))), s(s(s(y''))))
GCD(s(s(s(y''))), s(s(s(0)))) -> IFGCD(true, s(s(s(y''))), s(s(s(0))))
GCD(s(s(0)), s(s(s(x')))) -> IFGCD(false, s(s(0)), s(s(s(x'))))
IFGCD(true, s(s(0)), s(s(y''))) -> GCD(ifminus(true, s(0), s(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(ifminus(le(x''', y'), s(x'''), s(y')), 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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(0)), s(s(y''))) -> GCD(ifminus(true, s(0), s(y'')), s(s(y'')))
IFGCD(true, s(s(0)), s(s(y''))) -> GCD(0, s(s(y'')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 32
↳Rewriting Transformation
GCD(s(s(y''')), s(s(0))) -> IFGCD(true, s(s(y''')), s(s(0)))
IFGCD(true, s(s(s(x'))), s(s(0))) -> GCD(ifminus(false, s(s(x')), s(0)), s(s(0)))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(x'))), s(s(0))) -> GCD(ifminus(false, s(s(x')), s(0)), s(s(0)))
IFGCD(true, s(s(s(x'))), s(s(0))) -> GCD(s(minus(s(x'), s(0))), s(s(0)))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 35
↳Rewriting Transformation
IFGCD(true, s(s(s(x'))), s(s(0))) -> GCD(s(minus(s(x'), s(0))), 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(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(x'))), s(s(0))) -> GCD(s(minus(s(x'), s(0))), s(s(0)))
IFGCD(true, s(s(s(x'))), s(s(0))) -> GCD(s(ifminus(le(s(x'), s(0)), s(x'), s(0))), s(s(0)))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 38
↳Rewriting Transformation
IFGCD(true, s(s(s(x'))), s(s(0))) -> GCD(s(ifminus(le(s(x'), s(0)), s(x'), s(0))), 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(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(x'))), s(s(0))) -> GCD(s(ifminus(le(s(x'), s(0)), s(x'), s(0))), s(s(0)))
IFGCD(true, s(s(s(x'))), s(s(0))) -> GCD(s(ifminus(le(x', 0), s(x'), s(0))), s(s(0)))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 40
↳Forward Instantiation Transformation
IFGCD(true, s(s(s(x'))), s(s(0))) -> GCD(s(ifminus(le(x', 0), s(x'), s(0))), 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(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(y''')), s(s(0))) -> IFGCD(true, s(s(y''')), s(s(0)))
GCD(s(s(s(x'''))), s(s(0))) -> IFGCD(true, s(s(s(x'''))), s(s(0)))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 61
↳Remaining Obligation(s)
GCD(s(s(s(x'''))), s(0)) -> IFGCD(true, s(s(s(x'''))), s(0))
IFGCD(true, s(s(s(x'))), s(0)) -> GCD(s(s(minus(x', 0))), s(0))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(x'''))), s(s(0))) -> IFGCD(true, s(s(s(x'''))), s(s(0)))
IFGCD(true, s(s(s(x'))), s(s(0))) -> GCD(s(ifminus(le(x', 0), s(x'), s(0))), s(s(0)))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(x'''')))), s(s(s(0)))) -> IFGCD(true, s(s(s(s(x'''')))), s(s(s(0))))
IFGCD(true, s(s(s(s(x'')))), s(s(s(0)))) -> GCD(s(ifminus(le(x'', 0), s(s(x'')), s(s(0)))), s(s(s(0))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(y''))))), s(s(s(s(s(x')))))) -> GCD(ifminus(le(x', y''), s(s(s(s(x')))), s(s(s(s(y''))))), 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'')))))))
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(true, s(s(s(s(s(x'))))), s(s(s(s(s(y'')))))) -> GCD(ifminus(le(x', y''), s(s(s(s(x')))), s(s(s(s(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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(s(x'''))))), s(s(s(s(0))))) -> IFGCD(true, s(s(s(s(s(x'''))))), s(s(s(s(0)))))
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(ifminus(le(x', 0), s(s(s(x'))), s(s(s(0))))), s(s(s(s(0)))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 33
↳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'')))))
IFGCD(true, s(s(s(x'))), s(s(s(y'')))) -> GCD(ifminus(le(x', y''), s(s(x')), s(s(y''))), s(s(s(y''))))
GCD(s(s(s(y''))), s(s(s(0)))) -> IFGCD(true, s(s(s(y''))), s(s(s(0))))
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(ifminus(le(x''', y'), s(x'''), s(y')), s(s(y')))
GCD(s(s(s(0))), s(s(s(s(x''))))) -> IFGCD(false, s(s(s(0))), s(s(s(s(x'')))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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:
IFGCD(false, s(s(y')), s(s(x'''))) -> GCD(ifminus(le(x''', y'), s(x'''), s(y')), s(s(y')))
IFGCD(false, s(s(y'')), s(s(0))) -> GCD(ifminus(true, s(0), s(y'')), s(s(y'')))
IFGCD(false, s(s(0)), s(s(s(x')))) -> GCD(ifminus(false, s(s(x')), s(0)), s(s(0)))
IFGCD(false, s(s(s(y''))), s(s(s(x')))) -> GCD(ifminus(le(x', y''), s(s(x')), s(s(y''))), s(s(s(y''))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 36
↳Narrowing Transformation
IFGCD(false, s(s(s(y''))), s(s(s(x')))) -> GCD(ifminus(le(x', y''), s(s(x')), s(s(y''))), 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'')))))
GCD(s(s(s(y''))), s(s(s(0)))) -> IFGCD(true, s(s(s(y''))), s(s(s(0))))
IFGCD(true, s(s(s(x'))), s(s(s(y'')))) -> GCD(ifminus(le(x', y''), s(s(x')), s(s(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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 39
↳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'))))))
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(0))), s(s(s(s(x''))))) -> IFGCD(false, s(s(s(0))), s(s(s(s(x'')))))
IFGCD(true, s(s(s(x'))), s(s(s(y'')))) -> GCD(ifminus(le(x', y''), s(s(x')), s(s(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(s(s(x')))) -> GCD(ifminus(le(x', y''), s(s(x')), s(s(y''))), s(s(s(y''))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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:
IFGCD(true, s(s(s(x'))), s(s(s(y'')))) -> GCD(ifminus(le(x', y''), s(s(x')), s(s(y''))), s(s(s(y''))))
IFGCD(true, s(s(s(0))), s(s(s(y''')))) -> GCD(ifminus(true, s(s(0)), s(s(y'''))), s(s(s(y'''))))
IFGCD(true, s(s(s(s(x'')))), s(s(s(0)))) -> GCD(ifminus(false, s(s(s(x''))), s(s(0))), s(s(s(0))))
IFGCD(true, s(s(s(s(x'')))), s(s(s(s(y'))))) -> GCD(ifminus(le(x'', y'), s(s(s(x''))), s(s(s(y')))), s(s(s(s(y')))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 41
↳Rewriting Transformation
IFGCD(true, s(s(s(s(x'')))), s(s(s(0)))) -> GCD(ifminus(false, s(s(s(x''))), s(s(0))), 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'))))))
IFGCD(true, s(s(s(s(x'')))), s(s(s(s(y'))))) -> GCD(ifminus(le(x'', y'), s(s(s(x''))), s(s(s(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)))))
GCD(s(s(s(0))), s(s(s(s(x''))))) -> IFGCD(false, s(s(s(0))), s(s(s(s(x'')))))
IFGCD(true, s(s(s(0))), s(s(s(y''')))) -> GCD(ifminus(true, s(s(0)), s(s(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(s(s(x')))) -> GCD(ifminus(le(x', y''), s(s(x')), s(s(y''))), 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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(0))), s(s(s(y''')))) -> GCD(ifminus(true, s(s(0)), s(s(y'''))), s(s(s(y'''))))
IFGCD(true, s(s(s(0))), s(s(s(y''')))) -> GCD(0, s(s(s(y'''))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 43
↳Rewriting Transformation
GCD(s(s(s(y''))), s(s(s(0)))) -> IFGCD(true, s(s(s(y''))), s(s(s(0))))
IFGCD(true, s(s(s(s(x'')))), s(s(s(0)))) -> GCD(ifminus(false, s(s(s(x''))), s(s(0))), s(s(s(0))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(x'')))), s(s(s(0)))) -> GCD(ifminus(false, s(s(s(x''))), s(s(0))), s(s(s(0))))
IFGCD(true, s(s(s(s(x'')))), s(s(s(0)))) -> GCD(s(minus(s(s(x'')), s(s(0)))), s(s(s(0))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 45
↳Rewriting Transformation
IFGCD(true, s(s(s(s(x'')))), s(s(s(0)))) -> GCD(s(minus(s(s(x'')), s(s(0)))), 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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(x'')))), s(s(s(0)))) -> GCD(s(minus(s(s(x'')), s(s(0)))), s(s(s(0))))
IFGCD(true, s(s(s(s(x'')))), s(s(s(0)))) -> GCD(s(ifminus(le(s(s(x'')), s(s(0))), s(s(x'')), s(s(0)))), s(s(s(0))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 47
↳Rewriting Transformation
IFGCD(true, s(s(s(s(x'')))), s(s(s(0)))) -> GCD(s(ifminus(le(s(s(x'')), s(s(0))), s(s(x'')), s(s(0)))), 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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(x'')))), s(s(s(0)))) -> GCD(s(ifminus(le(s(s(x'')), s(s(0))), s(s(x'')), s(s(0)))), s(s(s(0))))
IFGCD(true, s(s(s(s(x'')))), s(s(s(0)))) -> GCD(s(ifminus(le(s(x''), s(0)), s(s(x'')), s(s(0)))), s(s(s(0))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 49
↳Rewriting Transformation
IFGCD(true, s(s(s(s(x'')))), s(s(s(0)))) -> GCD(s(ifminus(le(s(x''), s(0)), s(s(x'')), s(s(0)))), 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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(x'')))), s(s(s(0)))) -> GCD(s(ifminus(le(s(x''), s(0)), s(s(x'')), s(s(0)))), s(s(s(0))))
IFGCD(true, s(s(s(s(x'')))), s(s(s(0)))) -> GCD(s(ifminus(le(x'', 0), s(s(x'')), s(s(0)))), s(s(s(0))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 51
↳Forward Instantiation Transformation
IFGCD(true, s(s(s(s(x'')))), s(s(s(0)))) -> GCD(s(ifminus(le(x'', 0), s(s(x'')), s(s(0)))), 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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(y''))), s(s(s(0)))) -> IFGCD(true, s(s(s(y''))), s(s(s(0))))
GCD(s(s(s(s(x'''')))), s(s(s(0)))) -> IFGCD(true, s(s(s(s(x'''')))), s(s(s(0))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 61
↳Remaining Obligation(s)
GCD(s(s(s(x'''))), s(0)) -> IFGCD(true, s(s(s(x'''))), s(0))
IFGCD(true, s(s(s(x'))), s(0)) -> GCD(s(s(minus(x', 0))), s(0))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(x'''))), s(s(0))) -> IFGCD(true, s(s(s(x'''))), s(s(0)))
IFGCD(true, s(s(s(x'))), s(s(0))) -> GCD(s(ifminus(le(x', 0), s(x'), s(0))), s(s(0)))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(x'''')))), s(s(s(0)))) -> IFGCD(true, s(s(s(s(x'''')))), s(s(s(0))))
IFGCD(true, s(s(s(s(x'')))), s(s(s(0)))) -> GCD(s(ifminus(le(x'', 0), s(s(x'')), s(s(0)))), s(s(s(0))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(y''))))), s(s(s(s(s(x')))))) -> GCD(ifminus(le(x', y''), s(s(s(s(x')))), s(s(s(s(y''))))), 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'')))))))
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(true, s(s(s(s(s(x'))))), s(s(s(s(s(y'')))))) -> GCD(ifminus(le(x', y''), s(s(s(s(x')))), s(s(s(s(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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(s(x'''))))), s(s(s(s(0))))) -> IFGCD(true, s(s(s(s(s(x'''))))), s(s(s(s(0)))))
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(ifminus(le(x', 0), s(s(s(x'))), s(s(s(0))))), s(s(s(s(0)))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 44
↳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'))))))
IFGCD(true, s(s(s(s(x'')))), s(s(s(s(y'))))) -> GCD(ifminus(le(x'', y'), s(s(s(x''))), s(s(s(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)))))
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(s(s(x')))) -> GCD(ifminus(le(x', y''), s(s(x')), s(s(y''))), 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'))))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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:
IFGCD(false, s(s(s(y''))), s(s(s(x')))) -> GCD(ifminus(le(x', y''), s(s(x')), s(s(y''))), s(s(s(y''))))
IFGCD(false, s(s(s(y'''))), s(s(s(0)))) -> GCD(ifminus(true, s(s(0)), s(s(y'''))), s(s(s(y'''))))
IFGCD(false, s(s(s(0))), s(s(s(s(x''))))) -> GCD(ifminus(false, s(s(s(x''))), s(s(0))), s(s(s(0))))
IFGCD(false, s(s(s(s(y')))), s(s(s(s(x''))))) -> GCD(ifminus(le(x'', y'), s(s(s(x''))), s(s(s(y')))), s(s(s(s(y')))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 46
↳Narrowing Transformation
IFGCD(false, s(s(s(s(y')))), s(s(s(s(x''))))) -> GCD(ifminus(le(x'', y'), s(s(s(x''))), s(s(s(y')))), 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'))))))
GCD(s(s(s(s(y''')))), s(s(s(s(0))))) -> IFGCD(true, s(s(s(s(y''')))), s(s(s(s(0)))))
IFGCD(true, s(s(s(s(x'')))), s(s(s(s(y'))))) -> GCD(ifminus(le(x'', y'), s(s(s(x''))), s(s(s(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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 48
↳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'')))))))
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(0)))), s(s(s(s(s(x')))))) -> IFGCD(false, s(s(s(s(0)))), s(s(s(s(s(x'))))))
IFGCD(true, s(s(s(s(x'')))), s(s(s(s(y'))))) -> GCD(ifminus(le(x'', y'), s(s(s(x''))), s(s(s(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(s(s(s(x''))))) -> GCD(ifminus(le(x'', y'), s(s(s(x''))), s(s(s(y')))), s(s(s(s(y')))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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:
IFGCD(true, s(s(s(s(x'')))), s(s(s(s(y'))))) -> GCD(ifminus(le(x'', y'), s(s(s(x''))), s(s(s(y')))), s(s(s(s(y')))))
IFGCD(true, s(s(s(s(0)))), s(s(s(s(y''))))) -> GCD(ifminus(true, s(s(s(0))), s(s(s(y'')))), s(s(s(s(y'')))))
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(ifminus(false, s(s(s(s(x')))), s(s(s(0)))), s(s(s(s(0)))))
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(s(y'')))))) -> GCD(ifminus(le(x', y''), s(s(s(s(x')))), s(s(s(s(y''))))), s(s(s(s(s(y''))))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 50
↳Rewriting Transformation
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(ifminus(false, s(s(s(s(x')))), s(s(s(0)))), 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'')))))))
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(s(y'')))))) -> GCD(ifminus(le(x', y''), s(s(s(s(x')))), s(s(s(s(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))))))
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(s(s(s(0)))), s(s(s(s(y''))))) -> GCD(ifminus(true, s(s(s(0))), s(s(s(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(s(s(s(x''))))) -> GCD(ifminus(le(x'', y'), s(s(s(x''))), s(s(s(y')))), 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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(0)))), s(s(s(s(y''))))) -> GCD(ifminus(true, s(s(s(0))), s(s(s(y'')))), s(s(s(s(y'')))))
IFGCD(true, s(s(s(s(0)))), s(s(s(s(y''))))) -> GCD(0, s(s(s(s(y'')))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 52
↳Rewriting Transformation
GCD(s(s(s(s(y''')))), s(s(s(s(0))))) -> IFGCD(true, s(s(s(s(y''')))), s(s(s(s(0)))))
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(ifminus(false, s(s(s(s(x')))), s(s(s(0)))), s(s(s(s(0)))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(ifminus(false, s(s(s(s(x')))), s(s(s(0)))), s(s(s(s(0)))))
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(minus(s(s(s(x'))), s(s(s(0))))), s(s(s(s(0)))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 55
↳Rewriting Transformation
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(minus(s(s(s(x'))), s(s(s(0))))), 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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(minus(s(s(s(x'))), s(s(s(0))))), s(s(s(s(0)))))
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(ifminus(le(s(s(s(x'))), s(s(s(0)))), s(s(s(x'))), s(s(s(0))))), s(s(s(s(0)))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 57
↳Rewriting Transformation
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(ifminus(le(s(s(s(x'))), s(s(s(0)))), s(s(s(x'))), s(s(s(0))))), 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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(ifminus(le(s(s(s(x'))), s(s(s(0)))), s(s(s(x'))), s(s(s(0))))), s(s(s(s(0)))))
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(ifminus(le(s(s(x')), s(s(0))), s(s(s(x'))), s(s(s(0))))), s(s(s(s(0)))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 58
↳Rewriting Transformation
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(ifminus(le(s(s(x')), s(s(0))), s(s(s(x'))), s(s(s(0))))), 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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(ifminus(le(s(s(x')), s(s(0))), s(s(s(x'))), s(s(s(0))))), s(s(s(s(0)))))
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(ifminus(le(s(x'), s(0)), s(s(s(x'))), s(s(s(0))))), s(s(s(s(0)))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 59
↳Rewriting Transformation
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(ifminus(le(s(x'), s(0)), s(s(s(x'))), s(s(s(0))))), 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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(ifminus(le(s(x'), s(0)), s(s(s(x'))), s(s(s(0))))), s(s(s(s(0)))))
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(ifminus(le(x', 0), s(s(s(x'))), s(s(s(0))))), s(s(s(s(0)))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 60
↳Forward Instantiation Transformation
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(ifminus(le(x', 0), s(s(s(x'))), s(s(s(0))))), 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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(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(s(x'''))))), s(s(s(s(0))))) -> IFGCD(true, s(s(s(s(s(x'''))))), s(s(s(s(0)))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 61
↳Remaining Obligation(s)
GCD(s(s(s(x'''))), s(0)) -> IFGCD(true, s(s(s(x'''))), s(0))
IFGCD(true, s(s(s(x'))), s(0)) -> GCD(s(s(minus(x', 0))), s(0))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(x'''))), s(s(0))) -> IFGCD(true, s(s(s(x'''))), s(s(0)))
IFGCD(true, s(s(s(x'))), s(s(0))) -> GCD(s(ifminus(le(x', 0), s(x'), s(0))), s(s(0)))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(x'''')))), s(s(s(0)))) -> IFGCD(true, s(s(s(s(x'''')))), s(s(s(0))))
IFGCD(true, s(s(s(s(x'')))), s(s(s(0)))) -> GCD(s(ifminus(le(x'', 0), s(s(x'')), s(s(0)))), s(s(s(0))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(y''))))), s(s(s(s(s(x')))))) -> GCD(ifminus(le(x', y''), s(s(s(s(x')))), s(s(s(s(y''))))), 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'')))))))
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(true, s(s(s(s(s(x'))))), s(s(s(s(s(y'')))))) -> GCD(ifminus(le(x', y''), s(s(s(s(x')))), s(s(s(s(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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(s(x'''))))), s(s(s(s(0))))) -> IFGCD(true, s(s(s(s(s(x'''))))), s(s(s(s(0)))))
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(ifminus(le(x', 0), s(s(s(x'))), s(s(s(0))))), s(s(s(s(0)))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 53
↳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'')))))))
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(s(y'')))))) -> GCD(ifminus(le(x', y''), s(s(s(s(x')))), s(s(s(s(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))))))
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(s(s(s(x''))))) -> GCD(ifminus(le(x'', y'), s(s(s(x''))), s(s(s(y')))), 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'')))))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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:
IFGCD(false, s(s(s(s(y')))), s(s(s(s(x''))))) -> GCD(ifminus(le(x'', y'), s(s(s(x''))), s(s(s(y')))), s(s(s(s(y')))))
IFGCD(false, s(s(s(s(y'')))), s(s(s(s(0))))) -> GCD(ifminus(true, s(s(s(0))), s(s(s(y'')))), s(s(s(s(y'')))))
IFGCD(false, s(s(s(s(0)))), s(s(s(s(s(x')))))) -> GCD(ifminus(false, s(s(s(s(x')))), s(s(s(0)))), s(s(s(s(0)))))
IFGCD(false, s(s(s(s(s(y''))))), s(s(s(s(s(x')))))) -> GCD(ifminus(le(x', y''), s(s(s(s(x')))), s(s(s(s(y''))))), s(s(s(s(s(y''))))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Nar
→DP Problem 3
↳Nar
→DP Problem 19
↳Nar
...
→DP Problem 61
↳Remaining Obligation(s)
GCD(s(s(s(x'''))), s(0)) -> IFGCD(true, s(s(s(x'''))), s(0))
IFGCD(true, s(s(s(x'))), s(0)) -> GCD(s(s(minus(x', 0))), s(0))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(x'''))), s(s(0))) -> IFGCD(true, s(s(s(x'''))), s(s(0)))
IFGCD(true, s(s(s(x'))), s(s(0))) -> GCD(s(ifminus(le(x', 0), s(x'), s(0))), s(s(0)))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(x'''')))), s(s(s(0)))) -> IFGCD(true, s(s(s(s(x'''')))), s(s(s(0))))
IFGCD(true, s(s(s(s(x'')))), s(s(s(0)))) -> GCD(s(ifminus(le(x'', 0), s(s(x'')), s(s(0)))), s(s(s(0))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(y''))))), s(s(s(s(s(x')))))) -> GCD(ifminus(le(x', y''), s(s(s(s(x')))), s(s(s(s(y''))))), 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'')))))))
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(true, s(s(s(s(s(x'))))), s(s(s(s(s(y'')))))) -> GCD(ifminus(le(x', y''), s(s(s(s(x')))), s(s(s(s(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)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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(s(s(s(x'''))))), s(s(s(s(0))))) -> IFGCD(true, s(s(s(s(s(x'''))))), s(s(s(s(0)))))
IFGCD(true, s(s(s(s(s(x'))))), s(s(s(s(0))))) -> GCD(s(ifminus(le(x', 0), s(s(s(x'))), s(s(s(0))))), s(s(s(s(0)))))
le(0, y) -> true
le(s(x), 0) -> false
le(s(x), s(y)) -> le(x, y)
minus(0, y) -> 0
minus(s(x), y) -> ifminus(le(s(x), y), s(x), y)
ifminus(true, s(x), y) -> 0
ifminus(false, s(x), y) -> s(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