TIMEOUT

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

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (582ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4 (842ms).
 |    | – Problem 5 was processed with processor DependencyGraph (40ms).
 |    |    | – Problem 6 was processed with processor PolynomialLinearRange4 (189ms).
 |    |    |    | – Problem 8 was processed with processor DependencyGraph (10ms).
 |    |    |    |    | – Problem 10 was processed with processor PolynomialLinearRange4 (7ms).
 |    |    |    |    | – Problem 11 was processed with processor PolynomialLinearRange4 (148ms).
 |    |    |    |    |    | – Problem 14 remains open; application of the following processors failed [DependencyGraph (4ms), PolynomialLinearRange4 (149ms), DependencyGraph (3ms), ReductionPairSAT (304ms), DependencyGraph (3ms)].
 |    |    | – Problem 7 was processed with processor PolynomialLinearRange4 (200ms).
 |    |    |    | – Problem 9 was processed with processor DependencyGraph (4ms).
 |    |    |    |    | – Problem 12 remains open; application of the following processors failed [PolynomialLinearRange4 (195ms), DependencyGraph (1ms), PolynomialLinearRange4 (226ms), DependencyGraph (1ms), ReductionPairSAT (451ms), DependencyGraph (1ms)].
 |    |    |    |    | – Problem 13 remains open; application of the following processors failed [PolynomialLinearRange4 (170ms), DependencyGraph (4ms), PolynomialLinearRange4 (141ms), DependencyGraph (1ms), ReductionPairSAT (437ms), DependencyGraph (1ms)].
 | – Problem 3 remains open; application of the following processors failed [SubtermCriterion (0ms), DependencyGraph (2ms), PolynomialLinearRange4iUR (0ms), DependencyGraph (19ms), PolynomialOrderingProcessor (0ms), DependencyGraph (1ms), PolynomialLinearRange4 (241ms), DependencyGraph (1ms), PolynomialLinearRange4 (201ms), DependencyGraph (1ms), PolynomialLinearRange4 (194ms), DependencyGraph (1ms), PolynomialLinearRange4 (188ms), DependencyGraph (5ms), ReductionPairSAT (517ms), DependencyGraph (1ms), SizeChangePrinciple (timeout)].
 | – Problem 4 remains open; application of the following processors failed [SubtermCriterion (0ms), DependencyGraph (2ms), PolynomialLinearRange4iUR (0ms), DependencyGraph (1ms), PolynomialOrderingProcessor (0ms), DependencyGraph (1ms), PolynomialLinearRange4 (222ms), DependencyGraph (1ms), PolynomialLinearRange4 (208ms), DependencyGraph (1ms), PolynomialLinearRange4 (178ms), DependencyGraph (1ms), PolynomialLinearRange4 (154ms), DependencyGraph (3ms), ReductionPairSAT (410ms), DependencyGraph (1ms)].

The following open problems remain:



Open Dependency Pair Problem 3

Dependency Pairs

length#(cons(N, L))U61#(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)U61#(tt, L)length#(L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, V1)U12(isNatList(V1))
U12(tt)ttU21(tt, V1)U22(isNat(V1))
U22(tt)ttU31(tt, V)U32(isNatList(V))
U32(tt)ttU41(tt, V1, V2)U42(isNat(V1), V2)
U42(tt, V2)U43(isNatIList(V2))U43(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)U52(tt, V2)U53(isNatList(V2))
U53(tt)ttU61(tt, L)s(length(L))
and(tt, X)XisNat(0)tt
isNat(length(V1))U11(isNatIListKind(V1), V1)isNat(s(V1))U21(isNatKind(V1), V1)
isNatIList(V)U31(isNatIListKind(V), V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)isNatIListKind(nil)tt
isNatIListKind(zeros)ttisNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))
isNatKind(0)ttisNatKind(length(V1))isNatIListKind(V1)
isNatKind(s(V1))isNatKind(V1)isNatList(nil)tt
isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)length(nil)0
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)

Original Signature

Termination of terms over the following signature is verified: isNatIListKind, isNat, U43, U61, U42, U41, length, U21, U22, cons, isNatIList, isNatKind, and, 0, isNatList, U51, s, tt, zeros, U53, U52, U11, U12, U31, U32, nil




Open Dependency Pair Problem 4

Dependency Pairs

U42#(tt, V2)isNatIList#(V2)U41#(tt, V1, V2)U42#(isNat(V1), V2)
isNatIList#(cons(V1, V2))U41#(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)

Rewrite Rules

zeroscons(0, zeros)U11(tt, V1)U12(isNatList(V1))
U12(tt)ttU21(tt, V1)U22(isNat(V1))
U22(tt)ttU31(tt, V)U32(isNatList(V))
U32(tt)ttU41(tt, V1, V2)U42(isNat(V1), V2)
U42(tt, V2)U43(isNatIList(V2))U43(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)U52(tt, V2)U53(isNatList(V2))
U53(tt)ttU61(tt, L)s(length(L))
and(tt, X)XisNat(0)tt
isNat(length(V1))U11(isNatIListKind(V1), V1)isNat(s(V1))U21(isNatKind(V1), V1)
isNatIList(V)U31(isNatIListKind(V), V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)isNatIListKind(nil)tt
isNatIListKind(zeros)ttisNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))
isNatKind(0)ttisNatKind(length(V1))isNatIListKind(V1)
isNatKind(s(V1))isNatKind(V1)isNatList(nil)tt
isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)length(nil)0
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)

Original Signature

Termination of terms over the following signature is verified: isNatIListKind, isNat, U43, U61, U42, U41, length, U21, U22, cons, isNatIList, isNatKind, and, 0, isNatList, U51, s, tt, zeros, U53, U52, U11, U12, U31, U32, nil




Open Dependency Pair Problem 12

Dependency Pairs

isNat#(s(V1))U21#(isNatKind(V1), V1)U21#(tt, V1)isNat#(V1)

Rewrite Rules

zeroscons(0, zeros)U11(tt, V1)U12(isNatList(V1))
U12(tt)ttU21(tt, V1)U22(isNat(V1))
U22(tt)ttU31(tt, V)U32(isNatList(V))
U32(tt)ttU41(tt, V1, V2)U42(isNat(V1), V2)
U42(tt, V2)U43(isNatIList(V2))U43(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)U52(tt, V2)U53(isNatList(V2))
U53(tt)ttU61(tt, L)s(length(L))
and(tt, X)XisNat(0)tt
isNat(length(V1))U11(isNatIListKind(V1), V1)isNat(s(V1))U21(isNatKind(V1), V1)
isNatIList(V)U31(isNatIListKind(V), V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)isNatIListKind(nil)tt
isNatIListKind(zeros)ttisNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))
isNatKind(0)ttisNatKind(length(V1))isNatIListKind(V1)
isNatKind(s(V1))isNatKind(V1)isNatList(nil)tt
isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)length(nil)0
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)

Original Signature

Termination of terms over the following signature is verified: isNatIListKind, isNat, U43, U61, U42, U41, length, U21, U22, cons, isNatIList, isNatKind, and, 0, isNatList, U51, s, tt, zeros, U53, U52, U11, U12, U31, U32, nil




Open Dependency Pair Problem 13

Dependency Pairs

isNatList#(cons(V1, V2))U51#(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)U52#(tt, V2)isNatList#(V2)
U51#(tt, V1, V2)U52#(isNat(V1), V2)

Rewrite Rules

zeroscons(0, zeros)U11(tt, V1)U12(isNatList(V1))
U12(tt)ttU21(tt, V1)U22(isNat(V1))
U22(tt)ttU31(tt, V)U32(isNatList(V))
U32(tt)ttU41(tt, V1, V2)U42(isNat(V1), V2)
U42(tt, V2)U43(isNatIList(V2))U43(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)U52(tt, V2)U53(isNatList(V2))
U53(tt)ttU61(tt, L)s(length(L))
and(tt, X)XisNat(0)tt
isNat(length(V1))U11(isNatIListKind(V1), V1)isNat(s(V1))U21(isNatKind(V1), V1)
isNatIList(V)U31(isNatIListKind(V), V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)isNatIListKind(nil)tt
isNatIListKind(zeros)ttisNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))
isNatKind(0)ttisNatKind(length(V1))isNatIListKind(V1)
isNatKind(s(V1))isNatKind(V1)isNatList(nil)tt
isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)length(nil)0
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)

Original Signature

Termination of terms over the following signature is verified: isNatIListKind, isNat, U43, U61, U42, U41, length, U21, U22, cons, isNatIList, isNatKind, and, 0, isNatList, U51, s, tt, zeros, U53, U52, U11, U12, U31, U32, nil




Open Dependency Pair Problem 14

Dependency Pairs

and#(tt, X)T(X)isNatIListKind#(cons(V1, V2))and#(isNatKind(V1), isNatIListKind(V2))
T(isNatIListKind(V2))isNatIListKind#(V2)T(isNatKind(x_1))T(x_1)
T(and(x_1, x_2))T(x_1)T(and(x_1, x_2))T(x_2)
T(isNatIListKind(L))isNatIListKind#(L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, V1)U12(isNatList(V1))
U12(tt)ttU21(tt, V1)U22(isNat(V1))
U22(tt)ttU31(tt, V)U32(isNatList(V))
U32(tt)ttU41(tt, V1, V2)U42(isNat(V1), V2)
U42(tt, V2)U43(isNatIList(V2))U43(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)U52(tt, V2)U53(isNatList(V2))
U53(tt)ttU61(tt, L)s(length(L))
and(tt, X)XisNat(0)tt
isNat(length(V1))U11(isNatIListKind(V1), V1)isNat(s(V1))U21(isNatKind(V1), V1)
isNatIList(V)U31(isNatIListKind(V), V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)isNatIListKind(nil)tt
isNatIListKind(zeros)ttisNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))
isNatKind(0)ttisNatKind(length(V1))isNatIListKind(V1)
isNatKind(s(V1))isNatKind(V1)isNatList(nil)tt
isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)length(nil)0
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)

Original Signature

Termination of terms over the following signature is verified: isNatIListKind, isNat, U61, U43, U42, U41, length, U21, cons, U22, isNatIList, isNatKind, and, 0, isNatList, U51, s, tt, zeros, U53, U52, U11, U12, U31, U32, nil


Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

isNatIList#(cons(V1, V2))isNatKind#(V1)isNat#(s(V1))isNatKind#(V1)
isNat#(s(V1))U21#(isNatKind(V1), V1)U31#(tt, V)isNatList#(V)
isNatKind#(length(V1))isNatIListKind#(V1)isNatList#(cons(V1, V2))U51#(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)
U42#(tt, V2)isNatIList#(V2)T(isNat(x_1))T(x_1)
T(and(x_1, x_2))T(x_1)U52#(tt, V2)U53#(isNatList(V2))
isNatList#(cons(V1, V2))and#(isNatKind(V1), isNatIListKind(V2))U52#(tt, V2)isNatList#(V2)
isNatKind#(s(V1))isNatKind#(V1)isNatIListKind#(cons(V1, V2))and#(isNatKind(V1), isNatIListKind(V2))
T(isNatIListKind(V2))isNatIListKind#(V2)T(zeros)zeros#
isNatIList#(V)U31#(isNatIListKind(V), V)U41#(tt, V1, V2)U42#(isNat(V1), V2)
isNatIList#(cons(V1, V2))U41#(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)isNatList#(cons(V1, V2))isNatKind#(V1)
isNatIList#(cons(V1, V2))and#(isNatKind(V1), isNatIListKind(V2))U21#(tt, V1)isNat#(V1)
U51#(tt, V1, V2)U52#(isNat(V1), V2)and#(tt, X)T(X)
U11#(tt, V1)U12#(isNatList(V1))U21#(tt, V1)U22#(isNat(V1))
T(isNatIListKind(x_1))T(x_1)T(and(isNat(N), isNatKind(N)))and#(isNat(N), isNatKind(N))
U61#(tt, L)length#(L)U51#(tt, V1, V2)isNat#(V1)
T(isNatKind(N))isNatKind#(N)isNat#(length(V1))isNatIListKind#(V1)
length#(cons(N, L))and#(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N)))U61#(tt, L)T(L)
T(isNatIListKind(L))isNatIListKind#(L)isNat#(length(V1))U11#(isNatIListKind(V1), V1)
U41#(tt, V1, V2)isNat#(V1)length#(cons(N, L))U61#(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)
U11#(tt, V1)isNatList#(V1)U31#(tt, V)U32#(isNatList(V))
length#(cons(N, L))and#(isNatList(L), isNatIListKind(L))T(isNat(N))isNat#(N)
T(isNatKind(x_1))T(x_1)T(and(x_1, x_2))T(x_2)
isNatIListKind#(cons(V1, V2))isNatKind#(V1)isNatIList#(V)isNatIListKind#(V)
length#(cons(N, L))isNatList#(L)U42#(tt, V2)U43#(isNatIList(V2))

Rewrite Rules

zeroscons(0, zeros)U11(tt, V1)U12(isNatList(V1))
U12(tt)ttU21(tt, V1)U22(isNat(V1))
U22(tt)ttU31(tt, V)U32(isNatList(V))
U32(tt)ttU41(tt, V1, V2)U42(isNat(V1), V2)
U42(tt, V2)U43(isNatIList(V2))U43(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)U52(tt, V2)U53(isNatList(V2))
U53(tt)ttU61(tt, L)s(length(L))
and(tt, X)XisNat(0)tt
isNat(length(V1))U11(isNatIListKind(V1), V1)isNat(s(V1))U21(isNatKind(V1), V1)
isNatIList(V)U31(isNatIListKind(V), V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)isNatIListKind(nil)tt
isNatIListKind(zeros)ttisNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))
isNatKind(0)ttisNatKind(length(V1))isNatIListKind(V1)
isNatKind(s(V1))isNatKind(V1)isNatList(nil)tt
isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)length(nil)0
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)

Original Signature

Termination of terms over the following signature is verified: isNatIListKind, isNat, U61, U43, U42, U41, length, U21, cons, U22, isNatIList, isNatKind, and, 0, isNatList, U51, s, tt, zeros, U53, U52, U11, U12, U31, U32, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(isNatIListKind#) = μ(isNatIListKind) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(isNatKind#) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(U52#) = μ(U43#) = μ(U41#) = μ(U43) = μ(U61) = μ(U42) = μ(U41) = μ(length) = μ(U21) = μ(U22) = μ(cons) = μ(U12#) = μ(U22#) = μ(U61#) = μ(U53#) = μ(U51#) = μ(and) = μ(U42#) = μ(U51) = μ(s) = μ(U53) = μ(U52) = μ(U32#) = μ(U11) = μ(U12) = μ(U31) = μ(U32) = {1}


The following SCCs where found

isNat#(s(V1)) → isNatKind#(V1)isNat#(s(V1)) → U21#(isNatKind(V1), V1)
isNatKind#(length(V1)) → isNatIListKind#(V1)isNatList#(cons(V1, V2)) → U51#(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)
T(isNat(x_1)) → T(x_1)T(and(x_1, x_2)) → T(x_1)
isNatList#(cons(V1, V2)) → and#(isNatKind(V1), isNatIListKind(V2))U52#(tt, V2) → isNatList#(V2)
isNatKind#(s(V1)) → isNatKind#(V1)isNatIListKind#(cons(V1, V2)) → and#(isNatKind(V1), isNatIListKind(V2))
T(isNatIListKind(V2)) → isNatIListKind#(V2)isNatList#(cons(V1, V2)) → isNatKind#(V1)
U21#(tt, V1) → isNat#(V1)U51#(tt, V1, V2) → U52#(isNat(V1), V2)
and#(tt, X) → T(X)T(isNatIListKind(x_1)) → T(x_1)
T(and(isNat(N), isNatKind(N))) → and#(isNat(N), isNatKind(N))U51#(tt, V1, V2) → isNat#(V1)
T(isNatKind(N)) → isNatKind#(N)isNat#(length(V1)) → isNatIListKind#(V1)
T(isNatIListKind(L)) → isNatIListKind#(L)isNat#(length(V1)) → U11#(isNatIListKind(V1), V1)
U11#(tt, V1) → isNatList#(V1)T(isNat(N)) → isNat#(N)
T(isNatKind(x_1)) → T(x_1)T(and(x_1, x_2)) → T(x_2)
isNatIListKind#(cons(V1, V2)) → isNatKind#(V1)

length#(cons(N, L)) → U61#(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)U61#(tt, L) → length#(L)

U42#(tt, V2) → isNatIList#(V2)U41#(tt, V1, V2) → U42#(isNat(V1), V2)
isNatIList#(cons(V1, V2)) → U41#(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)

Problem 2: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isNat#(s(V1))isNatKind#(V1)isNat#(s(V1))U21#(isNatKind(V1), V1)
isNatKind#(length(V1))isNatIListKind#(V1)isNatList#(cons(V1, V2))U51#(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)
T(isNat(x_1))T(x_1)T(and(x_1, x_2))T(x_1)
isNatList#(cons(V1, V2))and#(isNatKind(V1), isNatIListKind(V2))U52#(tt, V2)isNatList#(V2)
isNatKind#(s(V1))isNatKind#(V1)isNatIListKind#(cons(V1, V2))and#(isNatKind(V1), isNatIListKind(V2))
T(isNatIListKind(V2))isNatIListKind#(V2)isNatList#(cons(V1, V2))isNatKind#(V1)
U21#(tt, V1)isNat#(V1)U51#(tt, V1, V2)U52#(isNat(V1), V2)
and#(tt, X)T(X)T(isNatIListKind(x_1))T(x_1)
T(and(isNat(N), isNatKind(N)))and#(isNat(N), isNatKind(N))U51#(tt, V1, V2)isNat#(V1)
T(isNatKind(N))isNatKind#(N)isNat#(length(V1))isNatIListKind#(V1)
T(isNatIListKind(L))isNatIListKind#(L)isNat#(length(V1))U11#(isNatIListKind(V1), V1)
U11#(tt, V1)isNatList#(V1)T(isNat(N))isNat#(N)
T(isNatKind(x_1))T(x_1)T(and(x_1, x_2))T(x_2)
isNatIListKind#(cons(V1, V2))isNatKind#(V1)

Rewrite Rules

zeroscons(0, zeros)U11(tt, V1)U12(isNatList(V1))
U12(tt)ttU21(tt, V1)U22(isNat(V1))
U22(tt)ttU31(tt, V)U32(isNatList(V))
U32(tt)ttU41(tt, V1, V2)U42(isNat(V1), V2)
U42(tt, V2)U43(isNatIList(V2))U43(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)U52(tt, V2)U53(isNatList(V2))
U53(tt)ttU61(tt, L)s(length(L))
and(tt, X)XisNat(0)tt
isNat(length(V1))U11(isNatIListKind(V1), V1)isNat(s(V1))U21(isNatKind(V1), V1)
isNatIList(V)U31(isNatIListKind(V), V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)isNatIListKind(nil)tt
isNatIListKind(zeros)ttisNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))
isNatKind(0)ttisNatKind(length(V1))isNatIListKind(V1)
isNatKind(s(V1))isNatKind(V1)isNatList(nil)tt
isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)length(nil)0
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)

Original Signature

Termination of terms over the following signature is verified: isNatIListKind, isNat, U61, U43, U42, U41, length, U21, cons, U22, isNatIList, isNatKind, and, 0, isNatList, U51, s, tt, zeros, U53, U52, U11, U12, U31, U32, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(isNatIListKind) = μ(isNatIListKind#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(zeros) = μ(tt) = μ(isNatKind#) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(U52#) = μ(U43#) = μ(U41#) = μ(U43) = μ(U61) = μ(U42) = μ(U41) = μ(length) = μ(U21) = μ(U22) = μ(cons) = μ(U12#) = μ(U22#) = μ(U61#) = μ(U53#) = μ(U51#) = μ(and) = μ(U42#) = μ(s) = μ(U51) = μ(U53) = μ(U52) = μ(U32#) = μ(U11) = μ(U12) = μ(U31) = μ(U32) = {1}


Polynomial Interpretation

Standard Usable rules

isNat(length(V1))U11(isNatIListKind(V1), V1)isNatIListKind(nil)tt
isNatIList(V)U31(isNatIListKind(V), V)U21(tt, V1)U22(isNat(V1))
isNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))U53(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)isNat(s(V1))U21(isNatKind(V1), V1)
isNatKind(s(V1))isNatKind(V1)U32(tt)tt
U11(tt, V1)U12(isNatList(V1))isNatKind(0)tt
U22(tt)ttisNatIList(zeros)tt
length(nil)0U43(tt)tt
U61(tt, L)s(length(L))isNat(0)tt
isNatList(nil)ttU42(tt, V2)U43(isNatIList(V2))
U31(tt, V)U32(isNatList(V))zeroscons(0, zeros)
U12(tt)ttisNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)isNatKind(length(V1))isNatIListKind(V1)
U41(tt, V1, V2)U42(isNat(V1), V2)and(tt, X)X
U52(tt, V2)U53(isNatList(V2))isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)
isNatIListKind(zeros)tt

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

isNat#(s(V1))isNatKind#(V1)T(isNat(x_1))T(x_1)
isNatList#(cons(V1, V2))and#(isNatKind(V1), isNatIListKind(V2))isNatList#(cons(V1, V2))isNatKind#(V1)
T(and(isNat(N), isNatKind(N)))and#(isNat(N), isNatKind(N))isNat#(length(V1))isNatIListKind#(V1)

Problem 5: DependencyGraph



Dependency Pair Problem

Dependency Pairs

and#(tt, X)T(X)T(isNatIListKind(x_1))T(x_1)
isNat#(s(V1))U21#(isNatKind(V1), V1)U51#(tt, V1, V2)isNat#(V1)
T(isNatKind(N))isNatKind#(N)isNatKind#(length(V1))isNatIListKind#(V1)
isNatList#(cons(V1, V2))U51#(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)T(and(x_1, x_2))T(x_1)
T(isNatIListKind(L))isNatIListKind#(L)U52#(tt, V2)isNatList#(V2)
isNatKind#(s(V1))isNatKind#(V1)isNat#(length(V1))U11#(isNatIListKind(V1), V1)
U11#(tt, V1)isNatList#(V1)isNatIListKind#(cons(V1, V2))and#(isNatKind(V1), isNatIListKind(V2))
T(isNatIListKind(V2))isNatIListKind#(V2)T(isNat(N))isNat#(N)
T(isNatKind(x_1))T(x_1)T(and(x_1, x_2))T(x_2)
isNatIListKind#(cons(V1, V2))isNatKind#(V1)U21#(tt, V1)isNat#(V1)
U51#(tt, V1, V2)U52#(isNat(V1), V2)

Rewrite Rules

zeroscons(0, zeros)U11(tt, V1)U12(isNatList(V1))
U12(tt)ttU21(tt, V1)U22(isNat(V1))
U22(tt)ttU31(tt, V)U32(isNatList(V))
U32(tt)ttU41(tt, V1, V2)U42(isNat(V1), V2)
U42(tt, V2)U43(isNatIList(V2))U43(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)U52(tt, V2)U53(isNatList(V2))
U53(tt)ttU61(tt, L)s(length(L))
and(tt, X)XisNat(0)tt
isNat(length(V1))U11(isNatIListKind(V1), V1)isNat(s(V1))U21(isNatKind(V1), V1)
isNatIList(V)U31(isNatIListKind(V), V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)isNatIListKind(nil)tt
isNatIListKind(zeros)ttisNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))
isNatKind(0)ttisNatKind(length(V1))isNatIListKind(V1)
isNatKind(s(V1))isNatKind(V1)isNatList(nil)tt
isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)length(nil)0
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)

Original Signature

Termination of terms over the following signature is verified: isNatIListKind, isNat, U43, U61, U42, U41, length, U21, U22, cons, isNatIList, isNatKind, and, 0, isNatList, U51, s, tt, zeros, U53, U52, U11, U12, U31, U32, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(isNatIListKind#) = μ(isNatIListKind) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(isNatKind#) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(U52#) = μ(U43#) = μ(U41#) = μ(U43) = μ(U61) = μ(U42) = μ(U41) = μ(length) = μ(U21) = μ(U22) = μ(cons) = μ(U12#) = μ(U22#) = μ(U61#) = μ(U53#) = μ(U51#) = μ(and) = μ(U42#) = μ(U51) = μ(s) = μ(U53) = μ(U52) = μ(U32#) = μ(U11) = μ(U12) = μ(U31) = μ(U32) = {1}


The following SCCs where found

isNatKind#(s(V1)) → isNatKind#(V1)and#(tt, X) → T(X)
T(isNatIListKind(x_1)) → T(x_1)isNatIListKind#(cons(V1, V2)) → and#(isNatKind(V1), isNatIListKind(V2))
T(isNatIListKind(V2)) → isNatIListKind#(V2)T(isNatKind(N)) → isNatKind#(N)
isNatKind#(length(V1)) → isNatIListKind#(V1)T(and(x_1, x_2)) → T(x_1)
T(isNatKind(x_1)) → T(x_1)T(and(x_1, x_2)) → T(x_2)
isNatIListKind#(cons(V1, V2)) → isNatKind#(V1)T(isNatIListKind(L)) → isNatIListKind#(L)

isNat#(length(V1)) → U11#(isNatIListKind(V1), V1)U11#(tt, V1) → isNatList#(V1)
isNat#(s(V1)) → U21#(isNatKind(V1), V1)U51#(tt, V1, V2) → isNat#(V1)
isNatList#(cons(V1, V2)) → U51#(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)U52#(tt, V2) → isNatList#(V2)
U21#(tt, V1) → isNat#(V1)U51#(tt, V1, V2) → U52#(isNat(V1), V2)

Problem 6: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isNatKind#(s(V1))isNatKind#(V1)and#(tt, X)T(X)
T(isNatIListKind(x_1))T(x_1)isNatIListKind#(cons(V1, V2))and#(isNatKind(V1), isNatIListKind(V2))
T(isNatIListKind(V2))isNatIListKind#(V2)T(isNatKind(N))isNatKind#(N)
isNatKind#(length(V1))isNatIListKind#(V1)T(isNatKind(x_1))T(x_1)
T(and(x_1, x_2))T(x_1)T(and(x_1, x_2))T(x_2)
isNatIListKind#(cons(V1, V2))isNatKind#(V1)T(isNatIListKind(L))isNatIListKind#(L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, V1)U12(isNatList(V1))
U12(tt)ttU21(tt, V1)U22(isNat(V1))
U22(tt)ttU31(tt, V)U32(isNatList(V))
U32(tt)ttU41(tt, V1, V2)U42(isNat(V1), V2)
U42(tt, V2)U43(isNatIList(V2))U43(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)U52(tt, V2)U53(isNatList(V2))
U53(tt)ttU61(tt, L)s(length(L))
and(tt, X)XisNat(0)tt
isNat(length(V1))U11(isNatIListKind(V1), V1)isNat(s(V1))U21(isNatKind(V1), V1)
isNatIList(V)U31(isNatIListKind(V), V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)isNatIListKind(nil)tt
isNatIListKind(zeros)ttisNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))
isNatKind(0)ttisNatKind(length(V1))isNatIListKind(V1)
isNatKind(s(V1))isNatKind(V1)isNatList(nil)tt
isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)length(nil)0
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)

Original Signature

Termination of terms over the following signature is verified: isNatIListKind, isNat, U43, U61, U42, U41, length, U21, U22, cons, isNatIList, isNatKind, and, 0, isNatList, U51, s, tt, zeros, U53, U52, U11, U12, U31, U32, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(isNatIListKind) = μ(isNatIListKind#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(zeros) = μ(tt) = μ(isNatKind#) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(U52#) = μ(U43#) = μ(U41#) = μ(U43) = μ(U61) = μ(U42) = μ(U41) = μ(length) = μ(U21) = μ(U22) = μ(cons) = μ(U12#) = μ(U22#) = μ(U61#) = μ(U53#) = μ(U51#) = μ(and) = μ(U42#) = μ(s) = μ(U51) = μ(U53) = μ(U52) = μ(U32#) = μ(U11) = μ(U12) = μ(U31) = μ(U32) = {1}


Polynomial Interpretation

Standard Usable rules

isNat(length(V1))U11(isNatIListKind(V1), V1)isNatIListKind(nil)tt
isNatIList(V)U31(isNatIListKind(V), V)U21(tt, V1)U22(isNat(V1))
isNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))U53(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)isNat(s(V1))U21(isNatKind(V1), V1)
isNatKind(s(V1))isNatKind(V1)U32(tt)tt
U11(tt, V1)U12(isNatList(V1))isNatKind(0)tt
U22(tt)ttisNatIList(zeros)tt
length(nil)0U43(tt)tt
U61(tt, L)s(length(L))isNat(0)tt
isNatList(nil)ttU42(tt, V2)U43(isNatIList(V2))
U31(tt, V)U32(isNatList(V))zeroscons(0, zeros)
U12(tt)ttisNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)isNatKind(length(V1))isNatIListKind(V1)
U41(tt, V1, V2)U42(isNat(V1), V2)and(tt, X)X
U52(tt, V2)U53(isNatList(V2))isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)
isNatIListKind(zeros)tt

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

isNatKind#(length(V1))isNatIListKind#(V1)

Problem 8: DependencyGraph



Dependency Pair Problem

Dependency Pairs

isNatKind#(s(V1))isNatKind#(V1)and#(tt, X)T(X)
T(isNatIListKind(x_1))T(x_1)isNatIListKind#(cons(V1, V2))and#(isNatKind(V1), isNatIListKind(V2))
T(isNatIListKind(V2))isNatIListKind#(V2)T(isNatKind(N))isNatKind#(N)
T(and(x_1, x_2))T(x_1)T(isNatKind(x_1))T(x_1)
T(and(x_1, x_2))T(x_2)isNatIListKind#(cons(V1, V2))isNatKind#(V1)
T(isNatIListKind(L))isNatIListKind#(L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, V1)U12(isNatList(V1))
U12(tt)ttU21(tt, V1)U22(isNat(V1))
U22(tt)ttU31(tt, V)U32(isNatList(V))
U32(tt)ttU41(tt, V1, V2)U42(isNat(V1), V2)
U42(tt, V2)U43(isNatIList(V2))U43(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)U52(tt, V2)U53(isNatList(V2))
U53(tt)ttU61(tt, L)s(length(L))
and(tt, X)XisNat(0)tt
isNat(length(V1))U11(isNatIListKind(V1), V1)isNat(s(V1))U21(isNatKind(V1), V1)
isNatIList(V)U31(isNatIListKind(V), V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)isNatIListKind(nil)tt
isNatIListKind(zeros)ttisNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))
isNatKind(0)ttisNatKind(length(V1))isNatIListKind(V1)
isNatKind(s(V1))isNatKind(V1)isNatList(nil)tt
isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)length(nil)0
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)

Original Signature

Termination of terms over the following signature is verified: isNatIListKind, isNat, U61, U43, U42, U41, length, U21, cons, U22, isNatIList, isNatKind, and, 0, isNatList, U51, s, tt, zeros, U53, U52, U11, U12, U31, U32, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(isNatIListKind#) = μ(isNatIListKind) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(isNatKind#) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(U52#) = μ(U43#) = μ(U41#) = μ(U43) = μ(U61) = μ(U42) = μ(U41) = μ(length) = μ(U21) = μ(U22) = μ(cons) = μ(U12#) = μ(U22#) = μ(U61#) = μ(U53#) = μ(U51#) = μ(and) = μ(U42#) = μ(U51) = μ(s) = μ(U53) = μ(U52) = μ(U32#) = μ(U11) = μ(U12) = μ(U31) = μ(U32) = {1}


The following SCCs where found

isNatKind#(s(V1)) → isNatKind#(V1)

and#(tt, X) → T(X)T(isNatIListKind(x_1)) → T(x_1)
isNatIListKind#(cons(V1, V2)) → and#(isNatKind(V1), isNatIListKind(V2))T(isNatIListKind(V2)) → isNatIListKind#(V2)
T(isNatKind(x_1)) → T(x_1)T(and(x_1, x_2)) → T(x_1)
T(and(x_1, x_2)) → T(x_2)T(isNatIListKind(L)) → isNatIListKind#(L)

Problem 10: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isNatKind#(s(V1))isNatKind#(V1)

Rewrite Rules

zeroscons(0, zeros)U11(tt, V1)U12(isNatList(V1))
U12(tt)ttU21(tt, V1)U22(isNat(V1))
U22(tt)ttU31(tt, V)U32(isNatList(V))
U32(tt)ttU41(tt, V1, V2)U42(isNat(V1), V2)
U42(tt, V2)U43(isNatIList(V2))U43(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)U52(tt, V2)U53(isNatList(V2))
U53(tt)ttU61(tt, L)s(length(L))
and(tt, X)XisNat(0)tt
isNat(length(V1))U11(isNatIListKind(V1), V1)isNat(s(V1))U21(isNatKind(V1), V1)
isNatIList(V)U31(isNatIListKind(V), V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)isNatIListKind(nil)tt
isNatIListKind(zeros)ttisNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))
isNatKind(0)ttisNatKind(length(V1))isNatIListKind(V1)
isNatKind(s(V1))isNatKind(V1)isNatList(nil)tt
isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)length(nil)0
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)

Original Signature

Termination of terms over the following signature is verified: isNatIListKind, isNat, U61, U43, U42, U41, length, U21, cons, U22, isNatIList, isNatKind, and, 0, isNatList, U51, s, tt, zeros, U53, U52, U11, U12, U31, U32, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(isNatIListKind) = μ(isNatIListKind#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(zeros) = μ(tt) = μ(isNatKind#) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(U52#) = μ(U43#) = μ(U41#) = μ(U43) = μ(U61) = μ(U42) = μ(U41) = μ(length) = μ(U21) = μ(U22) = μ(cons) = μ(U12#) = μ(U22#) = μ(U61#) = μ(U53#) = μ(U51#) = μ(and) = μ(U42#) = μ(s) = μ(U51) = μ(U53) = μ(U52) = μ(U32#) = μ(U11) = μ(U12) = μ(U31) = μ(U32) = {1}


Polynomial Interpretation

There are no usable rules

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

isNatKind#(s(V1))isNatKind#(V1)

Problem 11: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

and#(tt, X)T(X)T(isNatIListKind(x_1))T(x_1)
isNatIListKind#(cons(V1, V2))and#(isNatKind(V1), isNatIListKind(V2))T(isNatIListKind(V2))isNatIListKind#(V2)
T(isNatKind(x_1))T(x_1)T(and(x_1, x_2))T(x_1)
T(and(x_1, x_2))T(x_2)T(isNatIListKind(L))isNatIListKind#(L)

Rewrite Rules

zeroscons(0, zeros)U11(tt, V1)U12(isNatList(V1))
U12(tt)ttU21(tt, V1)U22(isNat(V1))
U22(tt)ttU31(tt, V)U32(isNatList(V))
U32(tt)ttU41(tt, V1, V2)U42(isNat(V1), V2)
U42(tt, V2)U43(isNatIList(V2))U43(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)U52(tt, V2)U53(isNatList(V2))
U53(tt)ttU61(tt, L)s(length(L))
and(tt, X)XisNat(0)tt
isNat(length(V1))U11(isNatIListKind(V1), V1)isNat(s(V1))U21(isNatKind(V1), V1)
isNatIList(V)U31(isNatIListKind(V), V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)isNatIListKind(nil)tt
isNatIListKind(zeros)ttisNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))
isNatKind(0)ttisNatKind(length(V1))isNatIListKind(V1)
isNatKind(s(V1))isNatKind(V1)isNatList(nil)tt
isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)length(nil)0
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)

Original Signature

Termination of terms over the following signature is verified: isNatIListKind, isNat, U61, U43, U42, U41, length, U21, cons, U22, isNatIList, isNatKind, and, 0, isNatList, U51, s, tt, zeros, U53, U52, U11, U12, U31, U32, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(isNatIListKind) = μ(isNatIListKind#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(zeros) = μ(tt) = μ(isNatKind#) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(U52#) = μ(U43#) = μ(U41#) = μ(U43) = μ(U61) = μ(U42) = μ(U41) = μ(length) = μ(U21) = μ(U22) = μ(cons) = μ(U12#) = μ(U22#) = μ(U61#) = μ(U53#) = μ(U51#) = μ(and) = μ(U42#) = μ(s) = μ(U51) = μ(U53) = μ(U52) = μ(U32#) = μ(U11) = μ(U12) = μ(U31) = μ(U32) = {1}


Polynomial Interpretation

Standard Usable rules

isNat(length(V1))U11(isNatIListKind(V1), V1)isNatIListKind(nil)tt
isNatIList(V)U31(isNatIListKind(V), V)U21(tt, V1)U22(isNat(V1))
isNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))U53(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)isNat(s(V1))U21(isNatKind(V1), V1)
isNatKind(s(V1))isNatKind(V1)U32(tt)tt
U11(tt, V1)U12(isNatList(V1))isNatKind(0)tt
U22(tt)ttisNatIList(zeros)tt
length(nil)0U43(tt)tt
U61(tt, L)s(length(L))isNat(0)tt
isNatList(nil)ttU42(tt, V2)U43(isNatIList(V2))
U31(tt, V)U32(isNatList(V))zeroscons(0, zeros)
U12(tt)ttisNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)isNatKind(length(V1))isNatIListKind(V1)
U41(tt, V1, V2)U42(isNat(V1), V2)and(tt, X)X
U52(tt, V2)U53(isNatList(V2))isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)
isNatIListKind(zeros)tt

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

T(isNatIListKind(x_1))T(x_1)

Problem 7: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isNat#(length(V1))U11#(isNatIListKind(V1), V1)U11#(tt, V1)isNatList#(V1)
isNat#(s(V1))U21#(isNatKind(V1), V1)U51#(tt, V1, V2)isNat#(V1)
isNatList#(cons(V1, V2))U51#(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)U52#(tt, V2)isNatList#(V2)
U21#(tt, V1)isNat#(V1)U51#(tt, V1, V2)U52#(isNat(V1), V2)

Rewrite Rules

zeroscons(0, zeros)U11(tt, V1)U12(isNatList(V1))
U12(tt)ttU21(tt, V1)U22(isNat(V1))
U22(tt)ttU31(tt, V)U32(isNatList(V))
U32(tt)ttU41(tt, V1, V2)U42(isNat(V1), V2)
U42(tt, V2)U43(isNatIList(V2))U43(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)U52(tt, V2)U53(isNatList(V2))
U53(tt)ttU61(tt, L)s(length(L))
and(tt, X)XisNat(0)tt
isNat(length(V1))U11(isNatIListKind(V1), V1)isNat(s(V1))U21(isNatKind(V1), V1)
isNatIList(V)U31(isNatIListKind(V), V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)isNatIListKind(nil)tt
isNatIListKind(zeros)ttisNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))
isNatKind(0)ttisNatKind(length(V1))isNatIListKind(V1)
isNatKind(s(V1))isNatKind(V1)isNatList(nil)tt
isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)length(nil)0
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)

Original Signature

Termination of terms over the following signature is verified: isNatIListKind, isNat, U43, U61, U42, U41, length, U21, U22, cons, isNatIList, isNatKind, and, 0, isNatList, U51, s, tt, zeros, U53, U52, U11, U12, U31, U32, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(isNatIListKind) = μ(isNatIListKind#) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(zeros) = μ(tt) = μ(isNatKind#) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(U52#) = μ(U43#) = μ(U41#) = μ(U43) = μ(U61) = μ(U42) = μ(U41) = μ(length) = μ(U21) = μ(U22) = μ(cons) = μ(U12#) = μ(U22#) = μ(U61#) = μ(U53#) = μ(U51#) = μ(and) = μ(U42#) = μ(s) = μ(U51) = μ(U53) = μ(U52) = μ(U32#) = μ(U11) = μ(U12) = μ(U31) = μ(U32) = {1}


Polynomial Interpretation

Standard Usable rules

isNat(length(V1))U11(isNatIListKind(V1), V1)isNatIListKind(nil)tt
isNatIList(V)U31(isNatIListKind(V), V)U21(tt, V1)U22(isNat(V1))
isNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))U53(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)isNat(s(V1))U21(isNatKind(V1), V1)
isNatKind(s(V1))isNatKind(V1)U32(tt)tt
U11(tt, V1)U12(isNatList(V1))isNatKind(0)tt
U22(tt)ttisNatIList(zeros)tt
length(nil)0U43(tt)tt
U61(tt, L)s(length(L))isNat(0)tt
isNatList(nil)ttU42(tt, V2)U43(isNatIList(V2))
U31(tt, V)U32(isNatList(V))zeroscons(0, zeros)
U12(tt)ttisNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)isNatKind(length(V1))isNatIListKind(V1)
U41(tt, V1, V2)U42(isNat(V1), V2)and(tt, X)X
U52(tt, V2)U53(isNatList(V2))isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)
isNatIListKind(zeros)tt

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

U11#(tt, V1)isNatList#(V1)

Problem 9: DependencyGraph



Dependency Pair Problem

Dependency Pairs

isNat#(length(V1))U11#(isNatIListKind(V1), V1)isNat#(s(V1))U21#(isNatKind(V1), V1)
U51#(tt, V1, V2)isNat#(V1)isNatList#(cons(V1, V2))U51#(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)
U52#(tt, V2)isNatList#(V2)U21#(tt, V1)isNat#(V1)
U51#(tt, V1, V2)U52#(isNat(V1), V2)

Rewrite Rules

zeroscons(0, zeros)U11(tt, V1)U12(isNatList(V1))
U12(tt)ttU21(tt, V1)U22(isNat(V1))
U22(tt)ttU31(tt, V)U32(isNatList(V))
U32(tt)ttU41(tt, V1, V2)U42(isNat(V1), V2)
U42(tt, V2)U43(isNatIList(V2))U43(tt)tt
U51(tt, V1, V2)U52(isNat(V1), V2)U52(tt, V2)U53(isNatList(V2))
U53(tt)ttU61(tt, L)s(length(L))
and(tt, X)XisNat(0)tt
isNat(length(V1))U11(isNatIListKind(V1), V1)isNat(s(V1))U21(isNatKind(V1), V1)
isNatIList(V)U31(isNatIListKind(V), V)isNatIList(zeros)tt
isNatIList(cons(V1, V2))U41(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)isNatIListKind(nil)tt
isNatIListKind(zeros)ttisNatIListKind(cons(V1, V2))and(isNatKind(V1), isNatIListKind(V2))
isNatKind(0)ttisNatKind(length(V1))isNatIListKind(V1)
isNatKind(s(V1))isNatKind(V1)isNatList(nil)tt
isNatList(cons(V1, V2))U51(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)length(nil)0
length(cons(N, L))U61(and(and(isNatList(L), isNatIListKind(L)), and(isNat(N), isNatKind(N))), L)

Original Signature

Termination of terms over the following signature is verified: isNatIListKind, isNat, U61, U43, U42, U41, length, U21, cons, U22, isNatIList, isNatKind, and, 0, isNatList, U51, s, tt, zeros, U53, U52, U11, U12, U31, U32, nil

Strategy

Context-sensitive strategy:
μ(isNatList#) = μ(isNatIListKind#) = μ(isNatIListKind) = μ(zeros#) = μ(isNat) = μ(T) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(0) = μ(isNatList) = μ(isNatKind#) = μ(tt) = μ(zeros) = μ(isNat#) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(length#) = μ(U21#) = μ(and#) = μ(U52#) = μ(U43#) = μ(U41#) = μ(U43) = μ(U61) = μ(U42) = μ(U41) = μ(length) = μ(U21) = μ(U22) = μ(cons) = μ(U12#) = μ(U22#) = μ(U61#) = μ(U53#) = μ(U51#) = μ(and) = μ(U42#) = μ(U51) = μ(s) = μ(U53) = μ(U52) = μ(U32#) = μ(U11) = μ(U12) = μ(U31) = μ(U32) = {1}


The following SCCs where found

isNatList#(cons(V1, V2)) → U51#(and(isNatKind(V1), isNatIListKind(V2)), V1, V2)U52#(tt, V2) → isNatList#(V2)
U51#(tt, V1, V2) → U52#(isNat(V1), V2)

isNat#(s(V1)) → U21#(isNatKind(V1), V1)U21#(tt, V1) → isNat#(V1)