Term Rewriting System R:
[N, M, NzN, NzM]
p(s(N)) -> N
+(N, 0) -> N
+(s(N), s(M)) -> s(s(+(N, M)))
*(N, 0) -> 0
*(s(N), s(M)) -> s(+(N, +(M, *(N, M))))
gt(0, M) -> False
gt(NzN, 0) -> u4(isNzNat(NzN))
gt(s(N), s(M)) -> gt(N, M)
u4(True) -> True
isNzNat(0) -> False
isNzNat(s(N)) -> True
lt(N, M) -> gt(M, N)
d(0, N) -> N
d(s(N), s(M)) -> d(N, M)
quot(N, NzM) -> u11(isNzNat(NzM), N, NzM)
quot(NzM, NzM) -> u01(isNzNat(NzM))
quot(N, NzM) -> u21(isNzNat(NzM), NzM, N)
u11(True, N, NzM) -> u1(gt(N, NzM), N, NzM)
u1(True, N, NzM) -> s(quot(d(N, NzM), NzM))
u01(True) -> s(0)
u21(True, NzM, N) -> u2(gt(NzM, N))
u2(True) -> 0
gcd(0, N) -> 0
gcd(NzM, NzM) -> u02(isNzNat(NzM), NzM)
gcd(NzN, NzM) -> u31(isNzNat(NzN), isNzNat(NzM), NzN, NzM)
u02(True, NzM) -> NzM
u31(True, True, NzN, NzM) -> u3(gt(NzN, NzM), NzN, NzM)
u3(True, NzN, NzM) -> gcd(d(NzN, NzM), NzM)

Innermost Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

+'(s(N), s(M)) -> +'(N, M)
*'(s(N), s(M)) -> +'(N, +(M, *(N, M)))
*'(s(N), s(M)) -> +'(M, *(N, M))
*'(s(N), s(M)) -> *'(N, M)
GT(NzN, 0) -> U4(isNzNat(NzN))
GT(NzN, 0) -> ISNZNAT(NzN)
GT(s(N), s(M)) -> GT(N, M)
LT(N, M) -> GT(M, N)
D(s(N), s(M)) -> D(N, M)
QUOT(N, NzM) -> U11(isNzNat(NzM), N, NzM)
QUOT(N, NzM) -> ISNZNAT(NzM)
QUOT(NzM, NzM) -> U01(isNzNat(NzM))
QUOT(NzM, NzM) -> ISNZNAT(NzM)
QUOT(N, NzM) -> U21(isNzNat(NzM), NzM, N)
U11(True, N, NzM) -> U1(gt(N, NzM), N, NzM)
U11(True, N, NzM) -> GT(N, NzM)
U1(True, N, NzM) -> QUOT(d(N, NzM), NzM)
U1(True, N, NzM) -> D(N, NzM)
U21(True, NzM, N) -> U2(gt(NzM, N))
U21(True, NzM, N) -> GT(NzM, N)
GCD(NzM, NzM) -> U02(isNzNat(NzM), NzM)
GCD(NzM, NzM) -> ISNZNAT(NzM)
GCD(NzN, NzM) -> U31(isNzNat(NzN), isNzNat(NzM), NzN, NzM)
GCD(NzN, NzM) -> ISNZNAT(NzN)
GCD(NzN, NzM) -> ISNZNAT(NzM)
U31(True, True, NzN, NzM) -> U3(gt(NzN, NzM), NzN, NzM)
U31(True, True, NzN, NzM) -> GT(NzN, NzM)
U3(True, NzN, NzM) -> GCD(d(NzN, NzM), NzM)
U3(True, NzN, NzM) -> D(NzN, NzM)

Furthermore, R contains six SCCs.


   R
DPs
       →DP Problem 1
Usable Rules (Innermost)
       →DP Problem 2
UsableRules
       →DP Problem 3
UsableRules
       →DP Problem 4
UsableRules
       →DP Problem 5
UsableRules
       →DP Problem 6
Remaining


Dependency Pair:

+'(s(N), s(M)) -> +'(N, M)


Rules:


p(s(N)) -> N
+(N, 0) -> N
+(s(N), s(M)) -> s(s(+(N, M)))
*(N, 0) -> 0
*(s(N), s(M)) -> s(+(N, +(M, *(N, M))))
gt(0, M) -> False
gt(NzN, 0) -> u4(isNzNat(NzN))
gt(s(N), s(M)) -> gt(N, M)
u4(True) -> True
isNzNat(0) -> False
isNzNat(s(N)) -> True
lt(N, M) -> gt(M, N)
d(0, N) -> N
d(s(N), s(M)) -> d(N, M)
quot(N, NzM) -> u11(isNzNat(NzM), N, NzM)
quot(NzM, NzM) -> u01(isNzNat(NzM))
quot(N, NzM) -> u21(isNzNat(NzM), NzM, N)
u11(True, N, NzM) -> u1(gt(N, NzM), N, NzM)
u1(True, N, NzM) -> s(quot(d(N, NzM), NzM))
u01(True) -> s(0)
u21(True, NzM, N) -> u2(gt(NzM, N))
u2(True) -> 0
gcd(0, N) -> 0
gcd(NzM, NzM) -> u02(isNzNat(NzM), NzM)
gcd(NzN, NzM) -> u31(isNzNat(NzN), isNzNat(NzM), NzN, NzM)
u02(True, NzM) -> NzM
u31(True, True, NzN, NzM) -> u3(gt(NzN, NzM), NzN, NzM)
u3(True, NzN, NzM) -> gcd(d(NzN, NzM), NzM)


Strategy:

innermost




As we are in the innermost case, we can delete all 28 non-usable-rules.


   R
DPs
       →DP Problem 1
UsableRules
           →DP Problem 7
Size-Change Principle
       →DP Problem 2
UsableRules
       →DP Problem 3
UsableRules
       →DP Problem 4
UsableRules
       →DP Problem 5
UsableRules
       →DP Problem 6
Remaining


Dependency Pair:

+'(s(N), s(M)) -> +'(N, M)


Rule:

none


Strategy:

innermost




We number the DPs as follows:
  1. +'(s(N), s(M)) -> +'(N, M)
and get the following Size-Change Graph(s):
{1} , {1}
1>1
2>2

which lead(s) to this/these maximal multigraph(s):
{1} , {1}
1>1
2>2

DP: empty set
Oriented Rules: none

We used the order Homeomorphic Embedding Order with Non-Strict Precedence.
trivial

with Argument Filtering System:
s(x1) -> s(x1)

We obtain no new DP problems.


   R
DPs
       →DP Problem 1
UsableRules
       →DP Problem 2
Usable Rules (Innermost)
       →DP Problem 3
UsableRules
       →DP Problem 4
UsableRules
       →DP Problem 5
UsableRules
       →DP Problem 6
Remaining


Dependency Pair:

GT(s(N), s(M)) -> GT(N, M)


Rules:


p(s(N)) -> N
+(N, 0) -> N
+(s(N), s(M)) -> s(s(+(N, M)))
*(N, 0) -> 0
*(s(N), s(M)) -> s(+(N, +(M, *(N, M))))
gt(0, M) -> False
gt(NzN, 0) -> u4(isNzNat(NzN))
gt(s(N), s(M)) -> gt(N, M)
u4(True) -> True
isNzNat(0) -> False
isNzNat(s(N)) -> True
lt(N, M) -> gt(M, N)
d(0, N) -> N
d(s(N), s(M)) -> d(N, M)
quot(N, NzM) -> u11(isNzNat(NzM), N, NzM)
quot(NzM, NzM) -> u01(isNzNat(NzM))
quot(N, NzM) -> u21(isNzNat(NzM), NzM, N)
u11(True, N, NzM) -> u1(gt(N, NzM), N, NzM)
u1(True, N, NzM) -> s(quot(d(N, NzM), NzM))
u01(True) -> s(0)
u21(True, NzM, N) -> u2(gt(NzM, N))
u2(True) -> 0
gcd(0, N) -> 0
gcd(NzM, NzM) -> u02(isNzNat(NzM), NzM)
gcd(NzN, NzM) -> u31(isNzNat(NzN), isNzNat(NzM), NzN, NzM)
u02(True, NzM) -> NzM
u31(True, True, NzN, NzM) -> u3(gt(NzN, NzM), NzN, NzM)
u3(True, NzN, NzM) -> gcd(d(NzN, NzM), NzM)


Strategy:

innermost




As we are in the innermost case, we can delete all 28 non-usable-rules.


   R
DPs
       →DP Problem 1
UsableRules
       →DP Problem 2
UsableRules
           →DP Problem 8
Size-Change Principle
       →DP Problem 3
UsableRules
       →DP Problem 4
UsableRules
       →DP Problem 5
UsableRules
       →DP Problem 6
Remaining


Dependency Pair:

GT(s(N), s(M)) -> GT(N, M)


Rule:

none


Strategy:

innermost




We number the DPs as follows:
  1. GT(s(N), s(M)) -> GT(N, M)
and get the following Size-Change Graph(s):
{1} , {1}
1>1
2>2

which lead(s) to this/these maximal multigraph(s):
{1} , {1}
1>1
2>2

DP: empty set
Oriented Rules: none

We used the order Homeomorphic Embedding Order with Non-Strict Precedence.
trivial

with Argument Filtering System:
s(x1) -> s(x1)

We obtain no new DP problems.


   R
DPs
       →DP Problem 1
UsableRules
       →DP Problem 2
UsableRules
       →DP Problem 3
Usable Rules (Innermost)
       →DP Problem 4
UsableRules
       →DP Problem 5
UsableRules
       →DP Problem 6
Remaining


Dependency Pair:

D(s(N), s(M)) -> D(N, M)


Rules:


p(s(N)) -> N
+(N, 0) -> N
+(s(N), s(M)) -> s(s(+(N, M)))
*(N, 0) -> 0
*(s(N), s(M)) -> s(+(N, +(M, *(N, M))))
gt(0, M) -> False
gt(NzN, 0) -> u4(isNzNat(NzN))
gt(s(N), s(M)) -> gt(N, M)
u4(True) -> True
isNzNat(0) -> False
isNzNat(s(N)) -> True
lt(N, M) -> gt(M, N)
d(0, N) -> N
d(s(N), s(M)) -> d(N, M)
quot(N, NzM) -> u11(isNzNat(NzM), N, NzM)
quot(NzM, NzM) -> u01(isNzNat(NzM))
quot(N, NzM) -> u21(isNzNat(NzM), NzM, N)
u11(True, N, NzM) -> u1(gt(N, NzM), N, NzM)
u1(True, N, NzM) -> s(quot(d(N, NzM), NzM))
u01(True) -> s(0)
u21(True, NzM, N) -> u2(gt(NzM, N))
u2(True) -> 0
gcd(0, N) -> 0
gcd(NzM, NzM) -> u02(isNzNat(NzM), NzM)
gcd(NzN, NzM) -> u31(isNzNat(NzN), isNzNat(NzM), NzN, NzM)
u02(True, NzM) -> NzM
u31(True, True, NzN, NzM) -> u3(gt(NzN, NzM), NzN, NzM)
u3(True, NzN, NzM) -> gcd(d(NzN, NzM), NzM)


Strategy:

innermost




As we are in the innermost case, we can delete all 28 non-usable-rules.


   R
DPs
       →DP Problem 1
UsableRules
       →DP Problem 2
UsableRules
       →DP Problem 3
UsableRules
           →DP Problem 9
Size-Change Principle
       →DP Problem 4
UsableRules
       →DP Problem 5
UsableRules
       →DP Problem 6
Remaining


Dependency Pair:

D(s(N), s(M)) -> D(N, M)


Rule:

none


Strategy:

innermost




We number the DPs as follows:
  1. D(s(N), s(M)) -> D(N, M)
and get the following Size-Change Graph(s):
{1} , {1}
1>1
2>2

which lead(s) to this/these maximal multigraph(s):
{1} , {1}
1>1
2>2

DP: empty set
Oriented Rules: none

We used the order Homeomorphic Embedding Order with Non-Strict Precedence.
trivial

with Argument Filtering System:
s(x1) -> s(x1)

We obtain no new DP problems.


   R
DPs
       →DP Problem 1
UsableRules
       →DP Problem 2
UsableRules
       →DP Problem 3
UsableRules
       →DP Problem 4
Usable Rules (Innermost)
       →DP Problem 5
UsableRules
       →DP Problem 6
Remaining


Dependency Pair:

*'(s(N), s(M)) -> *'(N, M)


Rules:


p(s(N)) -> N
+(N, 0) -> N
+(s(N), s(M)) -> s(s(+(N, M)))
*(N, 0) -> 0
*(s(N), s(M)) -> s(+(N, +(M, *(N, M))))
gt(0, M) -> False
gt(NzN, 0) -> u4(isNzNat(NzN))
gt(s(N), s(M)) -> gt(N, M)
u4(True) -> True
isNzNat(0) -> False
isNzNat(s(N)) -> True
lt(N, M) -> gt(M, N)
d(0, N) -> N
d(s(N), s(M)) -> d(N, M)
quot(N, NzM) -> u11(isNzNat(NzM), N, NzM)
quot(NzM, NzM) -> u01(isNzNat(NzM))
quot(N, NzM) -> u21(isNzNat(NzM), NzM, N)
u11(True, N, NzM) -> u1(gt(N, NzM), N, NzM)
u1(True, N, NzM) -> s(quot(d(N, NzM), NzM))
u01(True) -> s(0)
u21(True, NzM, N) -> u2(gt(NzM, N))
u2(True) -> 0
gcd(0, N) -> 0
gcd(NzM, NzM) -> u02(isNzNat(NzM), NzM)
gcd(NzN, NzM) -> u31(isNzNat(NzN), isNzNat(NzM), NzN, NzM)
u02(True, NzM) -> NzM
u31(True, True, NzN, NzM) -> u3(gt(NzN, NzM), NzN, NzM)
u3(True, NzN, NzM) -> gcd(d(NzN, NzM), NzM)


Strategy:

innermost




As we are in the innermost case, we can delete all 28 non-usable-rules.


   R
DPs
       →DP Problem 1
UsableRules
       →DP Problem 2
UsableRules
       →DP Problem 3
UsableRules
       →DP Problem 4
UsableRules
           →DP Problem 10
Size-Change Principle
       →DP Problem 5
UsableRules
       →DP Problem 6
Remaining


Dependency Pair:

*'(s(N), s(M)) -> *'(N, M)


Rule:

none


Strategy:

innermost




We number the DPs as follows:
  1. *'(s(N), s(M)) -> *'(N, M)
and get the following Size-Change Graph(s):
{1} , {1}
1>1
2>2

which lead(s) to this/these maximal multigraph(s):
{1} , {1}
1>1
2>2

DP: empty set
Oriented Rules: none

We used the order Homeomorphic Embedding Order with Non-Strict Precedence.
trivial

with Argument Filtering System:
s(x1) -> s(x1)

We obtain no new DP problems.


   R
DPs
       →DP Problem 1
UsableRules
       →DP Problem 2
UsableRules
       →DP Problem 3
UsableRules
       →DP Problem 4
UsableRules
       →DP Problem 5
Usable Rules (Innermost)
       →DP Problem 6
Remaining


Dependency Pairs:

U1(True, N, NzM) -> QUOT(d(N, NzM), NzM)
U11(True, N, NzM) -> U1(gt(N, NzM), N, NzM)
QUOT(N, NzM) -> U11(isNzNat(NzM), N, NzM)


Rules:


p(s(N)) -> N
+(N, 0) -> N
+(s(N), s(M)) -> s(s(+(N, M)))
*(N, 0) -> 0
*(s(N), s(M)) -> s(+(N, +(M, *(N, M))))
gt(0, M) -> False
gt(NzN, 0) -> u4(isNzNat(NzN))
gt(s(N), s(M)) -> gt(N, M)
u4(True) -> True
isNzNat(0) -> False
isNzNat(s(N)) -> True
lt(N, M) -> gt(M, N)
d(0, N) -> N
d(s(N), s(M)) -> d(N, M)
quot(N, NzM) -> u11(isNzNat(NzM), N, NzM)
quot(NzM, NzM) -> u01(isNzNat(NzM))
quot(N, NzM) -> u21(isNzNat(NzM), NzM, N)
u11(True, N, NzM) -> u1(gt(N, NzM), N, NzM)
u1(True, N, NzM) -> s(quot(d(N, NzM), NzM))
u01(True) -> s(0)
u21(True, NzM, N) -> u2(gt(NzM, N))
u2(True) -> 0
gcd(0, N) -> 0
gcd(NzM, NzM) -> u02(isNzNat(NzM), NzM)
gcd(NzN, NzM) -> u31(isNzNat(NzN), isNzNat(NzM), NzN, NzM)
u02(True, NzM) -> NzM
u31(True, True, NzN, NzM) -> u3(gt(NzN, NzM), NzN, NzM)
u3(True, NzN, NzM) -> gcd(d(NzN, NzM), NzM)


Strategy:

innermost




As we are in the innermost case, we can delete all 20 non-usable-rules.


   R
DPs
       →DP Problem 1
UsableRules
       →DP Problem 2
UsableRules
       →DP Problem 3
UsableRules
       →DP Problem 4
UsableRules
       →DP Problem 5
UsableRules
           →DP Problem 11
Narrowing Transformation
       →DP Problem 6
Remaining


Dependency Pairs:

U1(True, N, NzM) -> QUOT(d(N, NzM), NzM)
U11(True, N, NzM) -> U1(gt(N, NzM), N, NzM)
QUOT(N, NzM) -> U11(isNzNat(NzM), N, NzM)


Rules:


d(s(N), s(M)) -> d(N, M)
d(0, N) -> N
isNzNat(0) -> False
isNzNat(s(N)) -> True
u4(True) -> True
gt(NzN, 0) -> u4(isNzNat(NzN))
gt(0, M) -> False
gt(s(N), s(M)) -> gt(N, M)


Strategy:

innermost




On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

U11(True, N, NzM) -> U1(gt(N, NzM), N, NzM)
three new Dependency Pairs are created:

U11(True, N', 0) -> U1(u4(isNzNat(N')), N', 0)
U11(True, 0, NzM') -> U1(False, 0, NzM')
U11(True, s(N''), s(M')) -> U1(gt(N'', M'), s(N''), s(M'))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
UsableRules
       →DP Problem 2
UsableRules
       →DP Problem 3
UsableRules
       →DP Problem 4
UsableRules
       →DP Problem 5
UsableRules
           →DP Problem 11
Nar
             ...
               →DP Problem 12
Narrowing Transformation
       →DP Problem 6
Remaining


Dependency Pairs:

U11(True, s(N''), s(M')) -> U1(gt(N'', M'), s(N''), s(M'))
U11(True, N', 0) -> U1(u4(isNzNat(N')), N', 0)
QUOT(N, NzM) -> U11(isNzNat(NzM), N, NzM)
U1(True, N, NzM) -> QUOT(d(N, NzM), NzM)


Rules:


d(s(N), s(M)) -> d(N, M)
d(0, N) -> N
isNzNat(0) -> False
isNzNat(s(N)) -> True
u4(True) -> True
gt(NzN, 0) -> u4(isNzNat(NzN))
gt(0, M) -> False
gt(s(N), s(M)) -> gt(N, M)


Strategy:

innermost




On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

QUOT(N, NzM) -> U11(isNzNat(NzM), N, NzM)
two new Dependency Pairs are created:

QUOT(N, 0) -> U11(False, N, 0)
QUOT(N, s(N'')) -> U11(True, N, s(N''))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
UsableRules
       →DP Problem 2
UsableRules
       →DP Problem 3
UsableRules
       →DP Problem 4
UsableRules
       →DP Problem 5
UsableRules
           →DP Problem 11
Nar
             ...
               →DP Problem 13
Instantiation Transformation
       →DP Problem 6
Remaining


Dependency Pairs:

QUOT(N, s(N'')) -> U11(True, N, s(N''))
U1(True, N, NzM) -> QUOT(d(N, NzM), NzM)
U11(True, s(N''), s(M')) -> U1(gt(N'', M'), s(N''), s(M'))


Rules:


d(s(N), s(M)) -> d(N, M)
d(0, N) -> N
isNzNat(0) -> False
isNzNat(s(N)) -> True
u4(True) -> True
gt(NzN, 0) -> u4(isNzNat(NzN))
gt(0, M) -> False
gt(s(N), s(M)) -> gt(N, M)


Strategy:

innermost




On this DP problem, an Instantiation SCC transformation can be performed.
As a result of transforming the rule

U1(True, N, NzM) -> QUOT(d(N, NzM), NzM)
one new Dependency Pair is created:

U1(True, s(N''''), s(M''')) -> QUOT(d(s(N''''), s(M''')), s(M'''))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
UsableRules
       →DP Problem 2
UsableRules
       →DP Problem 3
UsableRules
       →DP Problem 4
UsableRules
       →DP Problem 5
UsableRules
           →DP Problem 11
Nar
             ...
               →DP Problem 14
Rewriting Transformation
       →DP Problem 6
Remaining


Dependency Pairs:

U1(True, s(N''''), s(M''')) -> QUOT(d(s(N''''), s(M''')), s(M'''))
U11(True, s(N''), s(M')) -> U1(gt(N'', M'), s(N''), s(M'))
QUOT(N, s(N'')) -> U11(True, N, s(N''))


Rules:


d(s(N), s(M)) -> d(N, M)
d(0, N) -> N
isNzNat(0) -> False
isNzNat(s(N)) -> True
u4(True) -> True
gt(NzN, 0) -> u4(isNzNat(NzN))
gt(0, M) -> False
gt(s(N), s(M)) -> gt(N, M)


Strategy:

innermost




On this DP problem, a Rewriting SCC transformation can be performed.
As a result of transforming the rule

U1(True, s(N''''), s(M''')) -> QUOT(d(s(N''''), s(M''')), s(M'''))
one new Dependency Pair is created:

U1(True, s(N''''), s(M''')) -> QUOT(d(N'''', M'''), s(M'''))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
UsableRules
       →DP Problem 2
UsableRules
       →DP Problem 3
UsableRules
       →DP Problem 4
UsableRules
       →DP Problem 5
UsableRules
       →DP Problem 6
Remaining Obligation(s)




The following remains to be proven:


   R
DPs
       →DP Problem 1
UsableRules
       →DP Problem 2
UsableRules
       →DP Problem 3
UsableRules
       →DP Problem 4
UsableRules
       →DP Problem 5
UsableRules
       →DP Problem 6
Remaining Obligation(s)




The following remains to be proven:

The Proof could not be continued due to a Timeout.
Innermost Termination of R could not be shown.
Duration:
1:00 minutes