minus(

minus(

pred(s(

le(s(

le(s(

le(0,

gcd(0,

gcd(s(

gcd(s(

if(true, s(

if(false, s(

R

↳Dependency Pair Analysis

MINUS(X, s(Y)) -> PRED(minus(X,Y))

MINUS(X, s(Y)) -> MINUS(X,Y)

LE(s(X), s(Y)) -> LE(X,Y)

GCD(s(X), s(Y)) -> IF(le(Y,X), s(X), s(Y))

GCD(s(X), s(Y)) -> LE(Y,X)

IF(true, s(X), s(Y)) -> GCD(minus(X,Y), s(Y))

IF(true, s(X), s(Y)) -> MINUS(X,Y)

IF(false, s(X), s(Y)) -> GCD(minus(Y,X), s(X))

IF(false, s(X), s(Y)) -> MINUS(Y,X)

Furthermore,

R

↳DPs

→DP Problem 1

↳Polynomial Ordering

→DP Problem 2

↳Polo

→DP Problem 3

↳Polo

**MINUS( X, s(Y)) -> MINUS(X, Y)**

minus(X, s(Y)) -> pred(minus(X,Y))

minus(X, 0) ->X

pred(s(X)) ->X

le(s(X), s(Y)) -> le(X,Y)

le(s(X), 0) -> false

le(0,Y) -> true

gcd(0,Y) -> 0

gcd(s(X), 0) -> s(X)

gcd(s(X), s(Y)) -> if(le(Y,X), s(X), s(Y))

if(true, s(X), s(Y)) -> gcd(minus(X,Y), s(Y))

if(false, s(X), s(Y)) -> gcd(minus(Y,X), s(X))

innermost

The following dependency pair can be strictly oriented:

MINUS(X, s(Y)) -> MINUS(X,Y)

There are no usable rules for innermost w.r.t. to the implicit AFS that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:

_{ }^{ }POL(MINUS(x)_{1}, x_{2})= x _{2}_{ }^{ }_{ }^{ }POL(s(x)_{1})= 1 + x _{1}_{ }^{ }

resulting in one new DP problem.

R

↳DPs

→DP Problem 1

↳Polo

→DP Problem 4

↳Dependency Graph

→DP Problem 2

↳Polo

→DP Problem 3

↳Polo

minus(X, s(Y)) -> pred(minus(X,Y))

minus(X, 0) ->X

pred(s(X)) ->X

le(s(X), s(Y)) -> le(X,Y)

le(s(X), 0) -> false

le(0,Y) -> true

gcd(0,Y) -> 0

gcd(s(X), 0) -> s(X)

gcd(s(X), s(Y)) -> if(le(Y,X), s(X), s(Y))

if(true, s(X), s(Y)) -> gcd(minus(X,Y), s(Y))

if(false, s(X), s(Y)) -> gcd(minus(Y,X), s(X))

innermost

Using the Dependency Graph resulted in no new DP problems.

R

↳DPs

→DP Problem 1

↳Polo

→DP Problem 2

↳Polynomial Ordering

→DP Problem 3

↳Polo

**LE(s( X), s(Y)) -> LE(X, Y)**

minus(X, s(Y)) -> pred(minus(X,Y))

minus(X, 0) ->X

pred(s(X)) ->X

le(s(X), s(Y)) -> le(X,Y)

le(s(X), 0) -> false

le(0,Y) -> true

gcd(0,Y) -> 0

gcd(s(X), 0) -> s(X)

gcd(s(X), s(Y)) -> if(le(Y,X), s(X), s(Y))

if(true, s(X), s(Y)) -> gcd(minus(X,Y), s(Y))

if(false, s(X), s(Y)) -> gcd(minus(Y,X), s(X))

innermost

The following dependency pair can be strictly oriented:

LE(s(X), s(Y)) -> LE(X,Y)

There are no usable rules for innermost w.r.t. to the implicit AFS that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:

_{ }^{ }POL(LE(x)_{1}, x_{2})= x _{1}_{ }^{ }_{ }^{ }POL(s(x)_{1})= 1 + x _{1}_{ }^{ }

resulting in one new DP problem.

R

↳DPs

→DP Problem 1

↳Polo

→DP Problem 2

↳Polo

→DP Problem 5

↳Dependency Graph

→DP Problem 3

↳Polo

minus(X, s(Y)) -> pred(minus(X,Y))

minus(X, 0) ->X

pred(s(X)) ->X

le(s(X), s(Y)) -> le(X,Y)

le(s(X), 0) -> false

le(0,Y) -> true

gcd(0,Y) -> 0

gcd(s(X), 0) -> s(X)

gcd(s(X), s(Y)) -> if(le(Y,X), s(X), s(Y))

if(true, s(X), s(Y)) -> gcd(minus(X,Y), s(Y))

if(false, s(X), s(Y)) -> gcd(minus(Y,X), s(X))

innermost

Using the Dependency Graph resulted in no new DP problems.

R

↳DPs

→DP Problem 1

↳Polo

→DP Problem 2

↳Polo

→DP Problem 3

↳Polynomial Ordering

**IF(false, s( X), s(Y)) -> GCD(minus(Y, X), s(X))**

minus(X, s(Y)) -> pred(minus(X,Y))

minus(X, 0) ->X

pred(s(X)) ->X

le(s(X), s(Y)) -> le(X,Y)

le(s(X), 0) -> false

le(0,Y) -> true

gcd(0,Y) -> 0

gcd(s(X), 0) -> s(X)

gcd(s(X), s(Y)) -> if(le(Y,X), s(X), s(Y))

if(true, s(X), s(Y)) -> gcd(minus(X,Y), s(Y))

if(false, s(X), s(Y)) -> gcd(minus(Y,X), s(X))

innermost

The following dependency pairs can be strictly oriented:

IF(false, s(X), s(Y)) -> GCD(minus(Y,X), s(X))

IF(true, s(X), s(Y)) -> GCD(minus(X,Y), s(Y))

Additionally, the following usable rules for innermost w.r.t. to the implicit AFS can be oriented:

minus(X, s(Y)) -> pred(minus(X,Y))

minus(X, 0) ->X

pred(s(X)) ->X

Used ordering: Polynomial ordering with Polynomial interpretation:

_{ }^{ }POL(0)= 0 _{ }^{ }_{ }^{ }POL(GCD(x)_{1}, x_{2})= x _{1}+ x_{2}_{ }^{ }_{ }^{ }POL(false)= 0 _{ }^{ }_{ }^{ }POL(pred(x)_{1})= x _{1}_{ }^{ }_{ }^{ }POL(minus(x)_{1}, x_{2})= x _{1}_{ }^{ }_{ }^{ }POL(true)= 0 _{ }^{ }_{ }^{ }POL(s(x)_{1})= 1 + x _{1}_{ }^{ }_{ }^{ }POL(le(x)_{1}, x_{2})= 0 _{ }^{ }_{ }^{ }POL(IF(x)_{1}, x_{2}, x_{3})= x _{2}+ x_{3}_{ }^{ }

resulting in one new DP problem.

R

↳DPs

→DP Problem 1

↳Polo

→DP Problem 2

↳Polo

→DP Problem 3

↳Polo

→DP Problem 6

↳Dependency Graph

**GCD(s( X), s(Y)) -> IF(le(Y, X), s(X), s(Y))**

minus(X, s(Y)) -> pred(minus(X,Y))

minus(X, 0) ->X

pred(s(X)) ->X

le(s(X), s(Y)) -> le(X,Y)

le(s(X), 0) -> false

le(0,Y) -> true

gcd(0,Y) -> 0

gcd(s(X), 0) -> s(X)

gcd(s(X), s(Y)) -> if(le(Y,X), s(X), s(Y))

if(true, s(X), s(Y)) -> gcd(minus(X,Y), s(Y))

if(false, s(X), s(Y)) -> gcd(minus(Y,X), s(X))

innermost

Using the Dependency Graph resulted in no new DP problems.

Duration:

0:00 minutes