TIMEOUT

The TRS could not be proven terminating. The proof attempt took 60027 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (373ms).
 | – Problem 2 was processed with processor BackwardInstantiation (2ms).
 |    | – Problem 8 remains open; application of the following processors failed [ForwardInstantiation (2ms), Propagation (2ms), ForwardNarrowing (1ms), BackwardInstantiation (1ms), ForwardInstantiation (3ms), Propagation (2ms)].
 | – Problem 3 was processed with processor BackwardInstantiation (2ms).
 |    | – Problem 9 remains open; application of the following processors failed [ForwardInstantiation (1ms), Propagation (1ms), ForwardNarrowing (1ms), BackwardInstantiation (1ms), ForwardInstantiation (1ms), Propagation (2ms)].
 | – Problem 4 was processed with processor SubtermCriterion (1ms).
 | – Problem 5 was processed with processor SubtermCriterion (1ms).
 | – Problem 6 was processed with processor SubtermCriterion (1ms).
 | – Problem 7 was processed with processor SubtermCriterion (2ms).

The following open problems remain:



Open Dependency Pair Problem 2

Dependency Pairs

u_3#(True, NzN, NzM) → gcd#(d(NzN, NzM), NzM)u_31#(True, True, NzN, NzM) → u_3#(gt(NzN, NzM), NzN, NzM)
gcd#(NzN, NzM) → u_31#(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM)

Rewrite 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) → u_4(is_NzNat(NzN))u_4(True) → True
is_NzNat(0) → Falseis_NzNat(s(N)) → True
gt(s(N), s(M)) → gt(N, M)lt(N, M) → gt(M, N)
d(0, N) → Nd(s(N), s(M)) → d(N, M)
quot(N, NzM) → u_11(is_NzNat(NzM), N, NzM)u_11(True, N, NzM) → u_1(gt(N, NzM), N, NzM)
u_1(True, N, NzM) → s(quot(d(N, NzM), NzM))quot(NzM, NzM) → u_01(is_NzNat(NzM))
u_01(True) → s(0)quot(N, NzM) → u_21(is_NzNat(NzM), NzM, N)
u_21(True, NzM, N) → u_2(gt(NzM, N))u_2(True) → 0
gcd(0, N) → 0gcd(NzM, NzM) → u_02(is_NzNat(NzM), NzM)
u_02(True, NzM) → NzMgcd(NzN, NzM) → u_31(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM)
u_31(True, True, NzN, NzM) → u_3(gt(NzN, NzM), NzN, NzM)u_3(True, NzN, NzM) → gcd(d(NzN, NzM), NzM)

Original Signature

Termination of terms over the following signature is verified: u_31, is_NzNat, u_02, d, u_21, u_01, u_11, *, +, lt, False, u_1, 0, s, p, True, gt, u_4, quot, u_2, u_3, gcd




Open Dependency Pair Problem 3

Dependency Pairs

u_1#(True, N, NzM) → quot#(d(N, NzM), NzM)quot#(N, NzM) → u_11#(is_NzNat(NzM), N, NzM)
u_11#(True, N, NzM) → u_1#(gt(N, NzM), N, NzM)

Rewrite 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) → u_4(is_NzNat(NzN))u_4(True) → True
is_NzNat(0) → Falseis_NzNat(s(N)) → True
gt(s(N), s(M)) → gt(N, M)lt(N, M) → gt(M, N)
d(0, N) → Nd(s(N), s(M)) → d(N, M)
quot(N, NzM) → u_11(is_NzNat(NzM), N, NzM)u_11(True, N, NzM) → u_1(gt(N, NzM), N, NzM)
u_1(True, N, NzM) → s(quot(d(N, NzM), NzM))quot(NzM, NzM) → u_01(is_NzNat(NzM))
u_01(True) → s(0)quot(N, NzM) → u_21(is_NzNat(NzM), NzM, N)
u_21(True, NzM, N) → u_2(gt(NzM, N))u_2(True) → 0
gcd(0, N) → 0gcd(NzM, NzM) → u_02(is_NzNat(NzM), NzM)
u_02(True, NzM) → NzMgcd(NzN, NzM) → u_31(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM)
u_31(True, True, NzN, NzM) → u_3(gt(NzN, NzM), NzN, NzM)u_3(True, NzN, NzM) → gcd(d(NzN, NzM), NzM)

Original Signature

Termination of terms over the following signature is verified: u_31, is_NzNat, u_02, d, u_21, u_01, u_11, *, +, lt, False, u_1, 0, s, p, True, gt, u_4, quot, u_2, u_3, gcd


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

*#(s(N), s(M)) → +#(N, +(M, *(N, M)))+#(s(N), s(M)) → +#(N, M)
u_11#(True, N, NzM) → gt#(N, NzM)u_3#(True, NzN, NzM) → gcd#(d(NzN, NzM), NzM)
quot#(N, NzM) → is_NzNat#(NzM)gcd#(NzN, NzM) → is_NzNat#(NzM)
gcd#(NzM, NzM) → is_NzNat#(NzM)d#(s(N), s(M)) → d#(N, M)
gt#(NzN, 0) → is_NzNat#(NzN)quot#(NzM, NzM) → is_NzNat#(NzM)
lt#(N, M) → gt#(M, N)gt#(s(N), s(M)) → gt#(N, M)
quot#(N, NzM) → u_11#(is_NzNat(NzM), N, NzM)quot#(NzM, NzM) → u_01#(is_NzNat(NzM))
gcd#(NzN, NzM) → u_31#(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM)gcd#(NzM, NzM) → u_02#(is_NzNat(NzM), NzM)
u_21#(True, NzM, N) → gt#(NzM, N)u_21#(True, NzM, N) → u_2#(gt(NzM, N))
u_3#(True, NzN, NzM) → d#(NzN, NzM)gcd#(NzN, NzM) → is_NzNat#(NzN)
u_31#(True, True, NzN, NzM) → u_3#(gt(NzN, NzM), NzN, NzM)u_31#(True, True, NzN, NzM) → gt#(NzN, NzM)
*#(s(N), s(M)) → *#(N, M)u_1#(True, N, NzM) → d#(N, NzM)
quot#(N, NzM) → u_21#(is_NzNat(NzM), NzM, N)u_1#(True, N, NzM) → quot#(d(N, NzM), NzM)
*#(s(N), s(M)) → +#(M, *(N, M))gt#(NzN, 0) → u_4#(is_NzNat(NzN))
u_11#(True, N, NzM) → u_1#(gt(N, NzM), N, NzM)

Rewrite 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) → u_4(is_NzNat(NzN))u_4(True) → True
is_NzNat(0) → Falseis_NzNat(s(N)) → True
gt(s(N), s(M)) → gt(N, M)lt(N, M) → gt(M, N)
d(0, N) → Nd(s(N), s(M)) → d(N, M)
quot(N, NzM) → u_11(is_NzNat(NzM), N, NzM)u_11(True, N, NzM) → u_1(gt(N, NzM), N, NzM)
u_1(True, N, NzM) → s(quot(d(N, NzM), NzM))quot(NzM, NzM) → u_01(is_NzNat(NzM))
u_01(True) → s(0)quot(N, NzM) → u_21(is_NzNat(NzM), NzM, N)
u_21(True, NzM, N) → u_2(gt(NzM, N))u_2(True) → 0
gcd(0, N) → 0gcd(NzM, NzM) → u_02(is_NzNat(NzM), NzM)
u_02(True, NzM) → NzMgcd(NzN, NzM) → u_31(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM)
u_31(True, True, NzN, NzM) → u_3(gt(NzN, NzM), NzN, NzM)u_3(True, NzN, NzM) → gcd(d(NzN, NzM), NzM)

Original Signature

Termination of terms over the following signature is verified: u_31, is_NzNat, u_02, d, u_21, u_01, u_11, *, +, lt, False, u_1, 0, s, p, True, gt, u_4, quot, u_2, gcd, u_3

Strategy


The following SCCs where found

*#(s(N), s(M)) → *#(N, M)

+#(s(N), s(M)) → +#(N, M)

u_3#(True, NzN, NzM) → gcd#(d(NzN, NzM), NzM)u_31#(True, True, NzN, NzM) → u_3#(gt(NzN, NzM), NzN, NzM)
gcd#(NzN, NzM) → u_31#(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM)

u_1#(True, N, NzM) → quot#(d(N, NzM), NzM)quot#(N, NzM) → u_11#(is_NzNat(NzM), N, NzM)
u_11#(True, N, NzM) → u_1#(gt(N, NzM), N, NzM)

gt#(s(N), s(M)) → gt#(N, M)

d#(s(N), s(M)) → d#(N, M)

Problem 2: BackwardInstantiation



Dependency Pair Problem

Dependency Pairs

u_3#(True, NzN, NzM) → gcd#(d(NzN, NzM), NzM)u_31#(True, True, NzN, NzM) → u_3#(gt(NzN, NzM), NzN, NzM)
gcd#(NzN, NzM) → u_31#(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM)

Rewrite 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) → u_4(is_NzNat(NzN))u_4(True) → True
is_NzNat(0) → Falseis_NzNat(s(N)) → True
gt(s(N), s(M)) → gt(N, M)lt(N, M) → gt(M, N)
d(0, N) → Nd(s(N), s(M)) → d(N, M)
quot(N, NzM) → u_11(is_NzNat(NzM), N, NzM)u_11(True, N, NzM) → u_1(gt(N, NzM), N, NzM)
u_1(True, N, NzM) → s(quot(d(N, NzM), NzM))quot(NzM, NzM) → u_01(is_NzNat(NzM))
u_01(True) → s(0)quot(N, NzM) → u_21(is_NzNat(NzM), NzM, N)
u_21(True, NzM, N) → u_2(gt(NzM, N))u_2(True) → 0
gcd(0, N) → 0gcd(NzM, NzM) → u_02(is_NzNat(NzM), NzM)
u_02(True, NzM) → NzMgcd(NzN, NzM) → u_31(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM)
u_31(True, True, NzN, NzM) → u_3(gt(NzN, NzM), NzN, NzM)u_3(True, NzN, NzM) → gcd(d(NzN, NzM), NzM)

Original Signature

Termination of terms over the following signature is verified: u_31, is_NzNat, u_02, d, u_21, u_01, u_11, *, +, lt, False, u_1, 0, s, p, True, gt, u_4, quot, u_2, gcd, u_3

Strategy


Instantiation

For all potential predecessors l → r of the rule gcd#(NzN, NzM) → u_31#(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM) on dependency pair chains it holds that: Thus, gcd#(NzN, NzM) → u_31#(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM) is replaced by instances determined through the above matching. These instances are:
gcd#(d(_NzN, _NzM), _NzM) → u_31#(is_NzNat(d(_NzN, _NzM)), is_NzNat(_NzM), d(_NzN, _NzM), _NzM)

Problem 3: BackwardInstantiation



Dependency Pair Problem

Dependency Pairs

u_1#(True, N, NzM) → quot#(d(N, NzM), NzM)quot#(N, NzM) → u_11#(is_NzNat(NzM), N, NzM)
u_11#(True, N, NzM) → u_1#(gt(N, NzM), N, NzM)

Rewrite 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) → u_4(is_NzNat(NzN))u_4(True) → True
is_NzNat(0) → Falseis_NzNat(s(N)) → True
gt(s(N), s(M)) → gt(N, M)lt(N, M) → gt(M, N)
d(0, N) → Nd(s(N), s(M)) → d(N, M)
quot(N, NzM) → u_11(is_NzNat(NzM), N, NzM)u_11(True, N, NzM) → u_1(gt(N, NzM), N, NzM)
u_1(True, N, NzM) → s(quot(d(N, NzM), NzM))quot(NzM, NzM) → u_01(is_NzNat(NzM))
u_01(True) → s(0)quot(N, NzM) → u_21(is_NzNat(NzM), NzM, N)
u_21(True, NzM, N) → u_2(gt(NzM, N))u_2(True) → 0
gcd(0, N) → 0gcd(NzM, NzM) → u_02(is_NzNat(NzM), NzM)
u_02(True, NzM) → NzMgcd(NzN, NzM) → u_31(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM)
u_31(True, True, NzN, NzM) → u_3(gt(NzN, NzM), NzN, NzM)u_3(True, NzN, NzM) → gcd(d(NzN, NzM), NzM)

Original Signature

Termination of terms over the following signature is verified: u_31, is_NzNat, u_02, d, u_21, u_01, u_11, *, +, lt, False, u_1, 0, s, p, True, gt, u_4, quot, u_2, gcd, u_3

Strategy


Instantiation

For all potential predecessors l → r of the rule quot#(N, NzM) → u_11#(is_NzNat(NzM), N, NzM) on dependency pair chains it holds that: Thus, quot#(N, NzM) → u_11#(is_NzNat(NzM), N, NzM) is replaced by instances determined through the above matching. These instances are:
quot#(d(_N, _NzM), _NzM) → u_11#(is_NzNat(_NzM), d(_N, _NzM), _NzM)

Problem 4: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

*#(s(N), s(M)) → *#(N, M)

Rewrite 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) → u_4(is_NzNat(NzN))u_4(True) → True
is_NzNat(0) → Falseis_NzNat(s(N)) → True
gt(s(N), s(M)) → gt(N, M)lt(N, M) → gt(M, N)
d(0, N) → Nd(s(N), s(M)) → d(N, M)
quot(N, NzM) → u_11(is_NzNat(NzM), N, NzM)u_11(True, N, NzM) → u_1(gt(N, NzM), N, NzM)
u_1(True, N, NzM) → s(quot(d(N, NzM), NzM))quot(NzM, NzM) → u_01(is_NzNat(NzM))
u_01(True) → s(0)quot(N, NzM) → u_21(is_NzNat(NzM), NzM, N)
u_21(True, NzM, N) → u_2(gt(NzM, N))u_2(True) → 0
gcd(0, N) → 0gcd(NzM, NzM) → u_02(is_NzNat(NzM), NzM)
u_02(True, NzM) → NzMgcd(NzN, NzM) → u_31(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM)
u_31(True, True, NzN, NzM) → u_3(gt(NzN, NzM), NzN, NzM)u_3(True, NzN, NzM) → gcd(d(NzN, NzM), NzM)

Original Signature

Termination of terms over the following signature is verified: u_31, is_NzNat, u_02, d, u_21, u_01, u_11, *, +, lt, False, u_1, 0, s, p, True, gt, u_4, quot, u_2, gcd, u_3

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

*#(s(N), s(M)) → *#(N, M)

Problem 5: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

+#(s(N), s(M)) → +#(N, M)

Rewrite 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) → u_4(is_NzNat(NzN))u_4(True) → True
is_NzNat(0) → Falseis_NzNat(s(N)) → True
gt(s(N), s(M)) → gt(N, M)lt(N, M) → gt(M, N)
d(0, N) → Nd(s(N), s(M)) → d(N, M)
quot(N, NzM) → u_11(is_NzNat(NzM), N, NzM)u_11(True, N, NzM) → u_1(gt(N, NzM), N, NzM)
u_1(True, N, NzM) → s(quot(d(N, NzM), NzM))quot(NzM, NzM) → u_01(is_NzNat(NzM))
u_01(True) → s(0)quot(N, NzM) → u_21(is_NzNat(NzM), NzM, N)
u_21(True, NzM, N) → u_2(gt(NzM, N))u_2(True) → 0
gcd(0, N) → 0gcd(NzM, NzM) → u_02(is_NzNat(NzM), NzM)
u_02(True, NzM) → NzMgcd(NzN, NzM) → u_31(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM)
u_31(True, True, NzN, NzM) → u_3(gt(NzN, NzM), NzN, NzM)u_3(True, NzN, NzM) → gcd(d(NzN, NzM), NzM)

Original Signature

Termination of terms over the following signature is verified: u_31, is_NzNat, u_02, d, u_21, u_01, u_11, *, +, lt, False, u_1, 0, s, p, True, gt, u_4, quot, u_2, gcd, u_3

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

+#(s(N), s(M)) → +#(N, M)

Problem 6: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

d#(s(N), s(M)) → d#(N, M)

Rewrite 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) → u_4(is_NzNat(NzN))u_4(True) → True
is_NzNat(0) → Falseis_NzNat(s(N)) → True
gt(s(N), s(M)) → gt(N, M)lt(N, M) → gt(M, N)
d(0, N) → Nd(s(N), s(M)) → d(N, M)
quot(N, NzM) → u_11(is_NzNat(NzM), N, NzM)u_11(True, N, NzM) → u_1(gt(N, NzM), N, NzM)
u_1(True, N, NzM) → s(quot(d(N, NzM), NzM))quot(NzM, NzM) → u_01(is_NzNat(NzM))
u_01(True) → s(0)quot(N, NzM) → u_21(is_NzNat(NzM), NzM, N)
u_21(True, NzM, N) → u_2(gt(NzM, N))u_2(True) → 0
gcd(0, N) → 0gcd(NzM, NzM) → u_02(is_NzNat(NzM), NzM)
u_02(True, NzM) → NzMgcd(NzN, NzM) → u_31(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM)
u_31(True, True, NzN, NzM) → u_3(gt(NzN, NzM), NzN, NzM)u_3(True, NzN, NzM) → gcd(d(NzN, NzM), NzM)

Original Signature

Termination of terms over the following signature is verified: u_31, is_NzNat, u_02, d, u_21, u_01, u_11, *, +, lt, False, u_1, 0, s, p, True, gt, u_4, quot, u_2, gcd, u_3

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

d#(s(N), s(M)) → d#(N, M)

Problem 7: SubtermCriterion



Dependency Pair Problem

Dependency Pairs

gt#(s(N), s(M)) → gt#(N, M)

Rewrite 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) → u_4(is_NzNat(NzN))u_4(True) → True
is_NzNat(0) → Falseis_NzNat(s(N)) → True
gt(s(N), s(M)) → gt(N, M)lt(N, M) → gt(M, N)
d(0, N) → Nd(s(N), s(M)) → d(N, M)
quot(N, NzM) → u_11(is_NzNat(NzM), N, NzM)u_11(True, N, NzM) → u_1(gt(N, NzM), N, NzM)
u_1(True, N, NzM) → s(quot(d(N, NzM), NzM))quot(NzM, NzM) → u_01(is_NzNat(NzM))
u_01(True) → s(0)quot(N, NzM) → u_21(is_NzNat(NzM), NzM, N)
u_21(True, NzM, N) → u_2(gt(NzM, N))u_2(True) → 0
gcd(0, N) → 0gcd(NzM, NzM) → u_02(is_NzNat(NzM), NzM)
u_02(True, NzM) → NzMgcd(NzN, NzM) → u_31(is_NzNat(NzN), is_NzNat(NzM), NzN, NzM)
u_31(True, True, NzN, NzM) → u_3(gt(NzN, NzM), NzN, NzM)u_3(True, NzN, NzM) → gcd(d(NzN, NzM), NzM)

Original Signature

Termination of terms over the following signature is verified: u_31, is_NzNat, u_02, d, u_21, u_01, u_11, *, +, lt, False, u_1, 0, s, p, True, gt, u_4, quot, u_2, gcd, u_3

Strategy


Projection

The following projection was used:

Thus, the following dependency pairs are removed:

gt#(s(N), s(M)) → gt#(N, M)