YES
zeros → cons(0, zeros)
U11(tt, L) → s(length(L))
and(tt, X) → X
isNat(0) → tt
isNat(length(V1)) → isNatList(V1)
isNat(s(V1)) → isNat(V1)
isNatIList(V) → isNatList(V)
isNatIList(zeros) → tt
isNatIList(cons(V1, V2)) → and(isNat(V1), isNatIList(V2))
isNatList(nil) → tt
isNatList(cons(V1, V2)) → and(isNat(V1), isNatList(V2))
length(nil) → 0
length(cons(N, L)) → U11(and(isNatList(L), isNat(N)), L)
zeros: empty set
cons: {1}
0: empty set
U11: {1}
tt: empty set
s: {1}
length: {1}
and: {1}
isNat: empty set
isNatList: empty set
isNatIList: empty set
nil: empty set
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
zeros → cons(0, zeros)
U11(tt, L) → s(length(L))
and(tt, X) → X
isNat(0) → tt
isNat(length(V1)) → isNatList(V1)
isNat(s(V1)) → isNat(V1)
isNatIList(V) → isNatList(V)
isNatIList(zeros) → tt
isNatIList(cons(V1, V2)) → and(isNat(V1), isNatIList(V2))
isNatList(nil) → tt
isNatList(cons(V1, V2)) → and(isNat(V1), isNatList(V2))
length(nil) → 0
length(cons(N, L)) → U11(and(isNatList(L), isNat(N)), L)
zeros: empty set
cons: {1}
0: empty set
U11: {1}
tt: empty set
s: {1}
length: {1}
and: {1}
isNat: empty set
isNatList: empty set
isNatIList: empty set
nil: empty set
We applied the Zantema [34] to transform the context-sensitive TRS to an usual TRS.
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ Incomplete Giesl Middeldorp-Transformation
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(lengthInact(V1)) → isNatList(a(V1))
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(V) → isNatList(a(V))
isNatIList(zerosInact) → tt
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(nilInact) → tt
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(nil) → 0
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(lengthInact(V1)) → isNatList(a(V1))
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(V) → isNatList(a(V))
isNatIList(zerosInact) → tt
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(nilInact) → tt
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(nil) → 0
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
Used ordering:
isNatList(nilInact) → tt
length(nil) → 0
POL(0) = 0
POL(0Inact) = 0
POL(U11(x1, x2)) = 2·x1 + 2·x2
POL(a(x1)) = x1
POL(and(x1, x2)) = x1 + 2·x2
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(consInact(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatIList(x1)) = x1
POL(isNatIListInact(x1)) = x1
POL(isNatInact(x1)) = x1
POL(isNatList(x1)) = x1
POL(isNatListInact(x1)) = x1
POL(length(x1)) = 2·x1
POL(lengthInact(x1)) = 2·x1
POL(nil) = 1
POL(nilInact) = 1
POL(s(x1)) = x1
POL(sInact(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
POL(zerosInact) = 0
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ Incomplete Giesl Middeldorp-Transformation
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(lengthInact(V1)) → isNatList(a(V1))
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(V) → isNatList(a(V))
isNatIList(zerosInact) → tt
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(lengthInact(V1)) → isNatList(a(V1))
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(V) → isNatList(a(V))
isNatIList(zerosInact) → tt
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
Used ordering:
isNatIList(V) → isNatList(a(V))
isNatIList(zerosInact) → tt
POL(0) = 0
POL(0Inact) = 0
POL(U11(x1, x2)) = x1 + 2·x2
POL(a(x1)) = x1
POL(and(x1, x2)) = x1 + x2
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(consInact(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = 2·x1
POL(isNatIList(x1)) = 1 + 2·x1
POL(isNatIListInact(x1)) = 1 + 2·x1
POL(isNatInact(x1)) = 2·x1
POL(isNatList(x1)) = x1
POL(isNatListInact(x1)) = x1
POL(length(x1)) = 2·x1
POL(lengthInact(x1)) = 2·x1
POL(nil) = 0
POL(nilInact) = 0
POL(s(x1)) = x1
POL(sInact(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
POL(zerosInact) = 0
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ Incomplete Giesl Middeldorp-Transformation
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(lengthInact(V1)) → isNatList(a(V1))
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(lengthInact(V1)) → isNatList(a(V1))
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
Used ordering:
isNat(lengthInact(V1)) → isNatList(a(V1))
POL(0) = 0
POL(0Inact) = 0
POL(U11(x1, x2)) = 2 + x1 + x2
POL(a(x1)) = x1
POL(and(x1, x2)) = x1 + x2
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(consInact(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatIList(x1)) = x1
POL(isNatIListInact(x1)) = x1
POL(isNatInact(x1)) = x1
POL(isNatList(x1)) = x1
POL(isNatListInact(x1)) = x1
POL(length(x1)) = 2 + x1
POL(lengthInact(x1)) = 2 + x1
POL(nil) = 0
POL(nilInact) = 0
POL(s(x1)) = x1
POL(sInact(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
POL(zerosInact) = 0
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ Incomplete Giesl Middeldorp-Transformation
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
LENGTH(cons(N, L)) → AND(isNatList(a(L)), isNatInact(N))
A(zerosInact) → ZEROS
ISNAT(sInact(V1)) → ISNAT(a(V1))
LENGTH(cons(N, L)) → ISNATLIST(a(L))
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATILIST(consInact(V1, V2)) → ISNAT(a(V1))
ISNATLIST(consInact(V1, V2)) → A(V1)
A(lengthInact(x1)) → LENGTH(x1)
ISNATILIST(consInact(V1, V2)) → A(V1)
U111(tt, L) → A(L)
U111(tt, L) → LENGTH(a(L))
AND(tt, X) → A(X)
A(0Inact) → 01
ISNATLIST(consInact(V1, V2)) → ISNAT(a(V1))
A(isNatInact(x1)) → ISNAT(x1)
LENGTH(cons(N, L)) → A(L)
ISNATILIST(consInact(V1, V2)) → A(V2)
U111(tt, L) → S(length(a(L)))
ISNATLIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatListInact(a(V2)))
ISNAT(sInact(V1)) → A(V1)
A(sInact(x1)) → S(x1)
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATLIST(consInact(V1, V2)) → A(V2)
ISNATILIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatIListInact(a(V2)))
LENGTH(cons(N, L)) → U111(and(isNatList(a(L)), isNatInact(N)), a(L))
ZEROS → 01
A(consInact(x1, x2)) → CONS(x1, x2)
ZEROS → CONS(0, zerosInact)
A(nilInact) → NIL
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ Incomplete Giesl Middeldorp-Transformation
LENGTH(cons(N, L)) → AND(isNatList(a(L)), isNatInact(N))
A(zerosInact) → ZEROS
ISNAT(sInact(V1)) → ISNAT(a(V1))
LENGTH(cons(N, L)) → ISNATLIST(a(L))
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATILIST(consInact(V1, V2)) → ISNAT(a(V1))
ISNATLIST(consInact(V1, V2)) → A(V1)
A(lengthInact(x1)) → LENGTH(x1)
ISNATILIST(consInact(V1, V2)) → A(V1)
U111(tt, L) → A(L)
U111(tt, L) → LENGTH(a(L))
AND(tt, X) → A(X)
A(0Inact) → 01
ISNATLIST(consInact(V1, V2)) → ISNAT(a(V1))
A(isNatInact(x1)) → ISNAT(x1)
LENGTH(cons(N, L)) → A(L)
ISNATILIST(consInact(V1, V2)) → A(V2)
U111(tt, L) → S(length(a(L)))
ISNATLIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatListInact(a(V2)))
ISNAT(sInact(V1)) → A(V1)
A(sInact(x1)) → S(x1)
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATLIST(consInact(V1, V2)) → A(V2)
ISNATILIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatIListInact(a(V2)))
LENGTH(cons(N, L)) → U111(and(isNatList(a(L)), isNatInact(N)), a(L))
ZEROS → 01
A(consInact(x1, x2)) → CONS(x1, x2)
ZEROS → CONS(0, zerosInact)
A(nilInact) → NIL
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ Incomplete Giesl Middeldorp-Transformation
ISNATLIST(consInact(V1, V2)) → ISNAT(a(V1))
A(isNatInact(x1)) → ISNAT(x1)
LENGTH(cons(N, L)) → A(L)
ISNATILIST(consInact(V1, V2)) → A(V2)
ISNATLIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatListInact(a(V2)))
ISNAT(sInact(V1)) → A(V1)
LENGTH(cons(N, L)) → AND(isNatList(a(L)), isNatInact(N))
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATLIST(consInact(V1, V2)) → A(V2)
ISNATILIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatIListInact(a(V2)))
LENGTH(cons(N, L)) → ISNATLIST(a(L))
ISNAT(sInact(V1)) → ISNAT(a(V1))
LENGTH(cons(N, L)) → U111(and(isNatList(a(L)), isNatInact(N)), a(L))
ISNATILIST(consInact(V1, V2)) → ISNAT(a(V1))
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATLIST(consInact(V1, V2)) → A(V1)
A(lengthInact(x1)) → LENGTH(x1)
ISNATILIST(consInact(V1, V2)) → A(V1)
U111(tt, L) → A(L)
U111(tt, L) → LENGTH(a(L))
AND(tt, X) → A(X)
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
ISNATILIST(consInact(V1, V2)) → A(V2)
ISNATILIST(consInact(V1, V2)) → ISNAT(a(V1))
ISNATILIST(consInact(V1, V2)) → A(V1)
POL(0) = 0
POL(0Inact) = 0
POL(A(x1)) = x1
POL(AND(x1, x2)) = x1 + x2
POL(ISNAT(x1)) = x1
POL(ISNATILIST(x1)) = 1 + x1
POL(ISNATLIST(x1)) = x1
POL(LENGTH(x1)) = x1
POL(U11(x1, x2)) = x1 + x2
POL(U111(x1, x2)) = x1 + x2
POL(a(x1)) = x1
POL(and(x1, x2)) = x1 + x2
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(consInact(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatIList(x1)) = 1 + x1
POL(isNatIListInact(x1)) = 1 + x1
POL(isNatInact(x1)) = x1
POL(isNatList(x1)) = x1
POL(isNatListInact(x1)) = x1
POL(length(x1)) = x1
POL(lengthInact(x1)) = x1
POL(nil) = 0
POL(nilInact) = 0
POL(s(x1)) = x1
POL(sInact(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
POL(zerosInact) = 0
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ Incomplete Giesl Middeldorp-Transformation
ISNATLIST(consInact(V1, V2)) → ISNAT(a(V1))
A(isNatInact(x1)) → ISNAT(x1)
LENGTH(cons(N, L)) → A(L)
ISNATLIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatListInact(a(V2)))
ISNAT(sInact(V1)) → A(V1)
LENGTH(cons(N, L)) → AND(isNatList(a(L)), isNatInact(N))
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATLIST(consInact(V1, V2)) → A(V2)
ISNATILIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatIListInact(a(V2)))
LENGTH(cons(N, L)) → ISNATLIST(a(L))
ISNAT(sInact(V1)) → ISNAT(a(V1))
LENGTH(cons(N, L)) → U111(and(isNatList(a(L)), isNatInact(N)), a(L))
A(isNatListInact(x1)) → ISNATLIST(x1)
A(lengthInact(x1)) → LENGTH(x1)
ISNATLIST(consInact(V1, V2)) → A(V1)
U111(tt, L) → A(L)
U111(tt, L) → LENGTH(a(L))
AND(tt, X) → A(X)
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
A(lengthInact(x1)) → LENGTH(x1)
POL(0) = 0
POL(0Inact) = 0
POL(A(x1)) = 2·x1
POL(AND(x1, x2)) = x1 + 2·x2
POL(ISNAT(x1)) = 2·x1
POL(ISNATILIST(x1)) = 2·x1
POL(ISNATLIST(x1)) = 2·x1
POL(LENGTH(x1)) = 2·x1
POL(U11(x1, x2)) = 1 + 2·x1 + 2·x2
POL(U111(x1, x2)) = 2·x1 + 2·x2
POL(a(x1)) = x1
POL(and(x1, x2)) = x1 + 2·x2
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(consInact(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatIList(x1)) = 2·x1
POL(isNatIListInact(x1)) = 2·x1
POL(isNatInact(x1)) = x1
POL(isNatList(x1)) = x1
POL(isNatListInact(x1)) = x1
POL(length(x1)) = 1 + 2·x1
POL(lengthInact(x1)) = 1 + 2·x1
POL(nil) = 0
POL(nilInact) = 0
POL(s(x1)) = x1
POL(sInact(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
POL(zerosInact) = 0
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ Incomplete Giesl Middeldorp-Transformation
ISNATLIST(consInact(V1, V2)) → ISNAT(a(V1))
A(isNatInact(x1)) → ISNAT(x1)
LENGTH(cons(N, L)) → A(L)
ISNATLIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatListInact(a(V2)))
ISNAT(sInact(V1)) → A(V1)
LENGTH(cons(N, L)) → AND(isNatList(a(L)), isNatInact(N))
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATLIST(consInact(V1, V2)) → A(V2)
ISNATILIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatIListInact(a(V2)))
LENGTH(cons(N, L)) → ISNATLIST(a(L))
ISNAT(sInact(V1)) → ISNAT(a(V1))
LENGTH(cons(N, L)) → U111(and(isNatList(a(L)), isNatInact(N)), a(L))
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATLIST(consInact(V1, V2)) → A(V1)
U111(tt, L) → A(L)
U111(tt, L) → LENGTH(a(L))
AND(tt, X) → A(X)
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
ISNATLIST(consInact(V1, V2)) → ISNAT(a(V1))
A(isNatListInact(x1)) → ISNATLIST(x1)
A(isNatInact(x1)) → ISNAT(x1)
ISNATLIST(consInact(V1, V2)) → A(V1)
ISNATLIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatListInact(a(V2)))
ISNAT(sInact(V1)) → A(V1)
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATLIST(consInact(V1, V2)) → A(V2)
ISNATILIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatIListInact(a(V2)))
ISNAT(sInact(V1)) → ISNAT(a(V1))
AND(tt, X) → A(X)
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
A(isNatInact(x1)) → ISNAT(x1)
Used ordering: Polynomial interpretation [25]:
ISNATLIST(consInact(V1, V2)) → ISNAT(a(V1))
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATLIST(consInact(V1, V2)) → A(V1)
ISNATLIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatListInact(a(V2)))
ISNAT(sInact(V1)) → A(V1)
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATLIST(consInact(V1, V2)) → A(V2)
ISNATILIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatIListInact(a(V2)))
ISNAT(sInact(V1)) → ISNAT(a(V1))
AND(tt, X) → A(X)
POL(0) = 0
POL(0Inact) = 0
POL(A(x1)) = x1
POL(AND(x1, x2)) = x2
POL(ISNAT(x1)) = x1
POL(ISNATILIST(x1)) = 0
POL(ISNATLIST(x1)) = x1
POL(U11(x1, x2)) = x2
POL(a(x1)) = x1
POL(and(x1, x2)) = x2
POL(cons(x1, x2)) = x1 + x2
POL(consInact(x1, x2)) = x1 + x2
POL(isNat(x1)) = 1 + x1
POL(isNatIList(x1)) = 0
POL(isNatIListInact(x1)) = 0
POL(isNatInact(x1)) = 1 + x1
POL(isNatList(x1)) = x1
POL(isNatListInact(x1)) = x1
POL(length(x1)) = x1
POL(lengthInact(x1)) = x1
POL(nil) = 1
POL(nilInact) = 1
POL(s(x1)) = x1
POL(sInact(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
POL(zerosInact) = 0
cons(x1, x2) → consInact(x1, x2)
a(isNatInact(x1)) → isNat(x1)
and(tt, X) → a(X)
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
a(isNatIListInact(x1)) → isNatIList(x1)
a(isNatListInact(x1)) → isNatList(x1)
zeros → cons(0, zerosInact)
0 → 0Inact
zeros → zerosInact
isNat(x1) → isNatInact(x1)
isNatIList(x1) → isNatIListInact(x1)
isNat(sInact(V1)) → isNat(a(V1))
isNatList(x1) → isNatListInact(x1)
a(x) → x
a(0Inact) → 0
U11(tt, L) → s(length(a(L)))
a(zerosInact) → zeros
s(x1) → sInact(x1)
isNat(0Inact) → tt
a(nilInact) → nil
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
length(x1) → lengthInact(x1)
a(sInact(x1)) → s(x1)
nil → nilInact
a(consInact(x1, x2)) → cons(x1, x2)
a(lengthInact(x1)) → length(x1)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATLIST(consInact(V1, V2)) → ISNAT(a(V1))
ISNATLIST(consInact(V1, V2)) → A(V1)
ISNAT(sInact(V1)) → A(V1)
ISNATLIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatListInact(a(V2)))
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATLIST(consInact(V1, V2)) → A(V2)
ISNATILIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatIListInact(a(V2)))
ISNAT(sInact(V1)) → ISNAT(a(V1))
AND(tt, X) → A(X)
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATLIST(consInact(V1, V2)) → ISNAT(a(V1))
ISNATLIST(consInact(V1, V2)) → A(V1)
ISNATLIST(consInact(V1, V2)) → A(V2)
Used ordering: Polynomial interpretation [25]:
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNAT(sInact(V1)) → A(V1)
ISNATLIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatListInact(a(V2)))
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATILIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatIListInact(a(V2)))
ISNAT(sInact(V1)) → ISNAT(a(V1))
AND(tt, X) → A(X)
POL(0) = 0
POL(0Inact) = 0
POL(A(x1)) = x1
POL(AND(x1, x2)) = x2
POL(ISNAT(x1)) = x1
POL(ISNATILIST(x1)) = 0
POL(ISNATLIST(x1)) = 1 + x1
POL(U11(x1, x2)) = 0
POL(a(x1)) = x1
POL(and(x1, x2)) = x2
POL(cons(x1, x2)) = x1 + x2
POL(consInact(x1, x2)) = x1 + x2
POL(isNat(x1)) = 0
POL(isNatIList(x1)) = 0
POL(isNatIListInact(x1)) = 0
POL(isNatInact(x1)) = 0
POL(isNatList(x1)) = 1 + x1
POL(isNatListInact(x1)) = 1 + x1
POL(length(x1)) = 0
POL(lengthInact(x1)) = 0
POL(nil) = 1
POL(nilInact) = 1
POL(s(x1)) = x1
POL(sInact(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
POL(zerosInact) = 0
cons(x1, x2) → consInact(x1, x2)
a(isNatInact(x1)) → isNat(x1)
and(tt, X) → a(X)
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
a(isNatIListInact(x1)) → isNatIList(x1)
a(isNatListInact(x1)) → isNatList(x1)
zeros → cons(0, zerosInact)
0 → 0Inact
zeros → zerosInact
isNat(x1) → isNatInact(x1)
isNatIList(x1) → isNatIListInact(x1)
isNat(sInact(V1)) → isNat(a(V1))
isNatList(x1) → isNatListInact(x1)
a(x) → x
a(0Inact) → 0
U11(tt, L) → s(length(a(L)))
a(zerosInact) → zeros
s(x1) → sInact(x1)
isNat(0Inact) → tt
a(nilInact) → nil
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
length(x1) → lengthInact(x1)
a(sInact(x1)) → s(x1)
nil → nilInact
a(consInact(x1, x2)) → cons(x1, x2)
a(lengthInact(x1)) → length(x1)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATLIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatListInact(a(V2)))
ISNAT(sInact(V1)) → A(V1)
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATILIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatIListInact(a(V2)))
ISNAT(sInact(V1)) → ISNAT(a(V1))
AND(tt, X) → A(X)
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATLIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatListInact(a(V2)))
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATILIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatIListInact(a(V2)))
AND(tt, X) → A(X)
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
ISNATLIST(consInact(nilInact, y1)) → AND(isNat(nil), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(sInact(x0), y1)) → AND(isNat(s(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(lengthInact(x0), y1)) → AND(isNat(length(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(y0, y1)) → AND(isNatInact(a(y0)), isNatListInact(a(y1)))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatIListInact(x0), y1)) → AND(isNat(isNatIList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatListInact(a(y1)))
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
ISNATLIST(consInact(nilInact, y1)) → AND(isNat(nil), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(sInact(x0), y1)) → AND(isNat(s(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(y0, y1)) → AND(isNatInact(a(y0)), isNatListInact(a(y1)))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATILIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatIListInact(a(V2)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATLIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatListInact(a(y1)))
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATLIST(consInact(lengthInact(x0), y1)) → AND(isNat(length(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatIListInact(x0), y1)) → AND(isNat(isNatIList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
AND(tt, X) → A(X)
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
ISNATLIST(consInact(nilInact, y1)) → AND(isNat(nil), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(sInact(x0), y1)) → AND(isNat(s(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATILIST(consInact(V1, V2)) → AND(isNat(a(V1)), isNatIListInact(a(V2)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATLIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatListInact(a(y1)))
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATLIST(consInact(lengthInact(x0), y1)) → AND(isNat(length(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatIListInact(x0), y1)) → AND(isNat(isNatIList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
AND(tt, X) → A(X)
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
ISNATILIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatIListInact(a(y1)))
ISNATILIST(consInact(x0, y1)) → AND(isNat(x0), isNatIListInact(a(y1)))
ISNATILIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatIListInact(a(y1)))
ISNATILIST(consInact(sInact(x0), y1)) → AND(isNat(s(x0)), isNatIListInact(a(y1)))
ISNATILIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatIListInact(a(y1)))
ISNATILIST(consInact(nilInact, y1)) → AND(isNat(nil), isNatIListInact(a(y1)))
ISNATILIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatIListInact(a(y1)))
ISNATILIST(consInact(y0, y1)) → AND(isNatInact(a(y0)), isNatIListInact(a(y1)))
ISNATILIST(consInact(lengthInact(x0), y1)) → AND(isNat(length(x0)), isNatIListInact(a(y1)))
ISNATILIST(consInact(isNatIListInact(x0), y1)) → AND(isNat(isNatIList(x0)), isNatIListInact(a(y1)))
ISNATILIST(consInact(0Inact, y1)) → AND(isNat(0), isNatIListInact(a(y1)))
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
ISNATLIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatListInact(a(y1)))
ISNATILIST(consInact(x0, y1)) → AND(isNat(x0), isNatIListInact(a(y1)))
ISNATILIST(consInact(sInact(x0), y1)) → AND(isNat(s(x0)), isNatIListInact(a(y1)))
ISNATILIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatIListInact(a(y1)))
ISNATILIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatIListInact(a(y1)))
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATLIST(consInact(lengthInact(x0), y1)) → AND(isNat(length(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
ISNATILIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatIListInact(a(y1)))
ISNATILIST(consInact(nilInact, y1)) → AND(isNat(nil), isNatIListInact(a(y1)))
AND(tt, X) → A(X)
ISNATLIST(consInact(nilInact, y1)) → AND(isNat(nil), isNatListInact(a(y1)))
ISNATLIST(consInact(sInact(x0), y1)) → AND(isNat(s(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATILIST(consInact(isNatIListInact(x0), y1)) → AND(isNat(isNatIList(x0)), isNatIListInact(a(y1)))
ISNATLIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatListInact(a(y1)))
ISNATILIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatIListInact(a(y1)))
ISNATILIST(consInact(y0, y1)) → AND(isNatInact(a(y0)), isNatIListInact(a(y1)))
ISNATILIST(consInact(lengthInact(x0), y1)) → AND(isNat(length(x0)), isNatIListInact(a(y1)))
ISNATLIST(consInact(isNatIListInact(x0), y1)) → AND(isNat(isNatIList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
ISNATILIST(consInact(0Inact, y1)) → AND(isNat(0), isNatIListInact(a(y1)))
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
ISNATLIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(nilInact, y1)) → AND(isNat(nil), isNatListInact(a(y1)))
ISNATLIST(consInact(sInact(x0), y1)) → AND(isNat(s(x0)), isNatListInact(a(y1)))
ISNATILIST(consInact(x0, y1)) → AND(isNat(x0), isNatIListInact(a(y1)))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
ISNATILIST(consInact(sInact(x0), y1)) → AND(isNat(s(x0)), isNatIListInact(a(y1)))
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATILIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatIListInact(a(y1)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATILIST(consInact(isNatIListInact(x0), y1)) → AND(isNat(isNatIList(x0)), isNatIListInact(a(y1)))
ISNATLIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatListInact(a(y1)))
ISNATILIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatIListInact(a(y1)))
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATLIST(consInact(lengthInact(x0), y1)) → AND(isNat(length(x0)), isNatListInact(a(y1)))
ISNATILIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatIListInact(a(y1)))
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
ISNATILIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatIListInact(a(y1)))
ISNATILIST(consInact(nilInact, y1)) → AND(isNat(nil), isNatIListInact(a(y1)))
ISNATILIST(consInact(lengthInact(x0), y1)) → AND(isNat(length(x0)), isNatIListInact(a(y1)))
ISNATLIST(consInact(isNatIListInact(x0), y1)) → AND(isNat(isNatIList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
ISNATILIST(consInact(0Inact, y1)) → AND(isNat(0), isNatIListInact(a(y1)))
AND(tt, X) → A(X)
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
AND(tt, isNatIListInact(y_4)) → A(isNatIListInact(y_4))
AND(tt, isNatListInact(y_3)) → A(isNatListInact(y_3))
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
ISNATLIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatListInact(a(y1)))
ISNATILIST(consInact(x0, y1)) → AND(isNat(x0), isNatIListInact(a(y1)))
ISNATILIST(consInact(sInact(x0), y1)) → AND(isNat(s(x0)), isNatIListInact(a(y1)))
ISNATILIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatIListInact(a(y1)))
ISNATILIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatIListInact(a(y1)))
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATLIST(consInact(lengthInact(x0), y1)) → AND(isNat(length(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
ISNATILIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatIListInact(a(y1)))
ISNATILIST(consInact(nilInact, y1)) → AND(isNat(nil), isNatIListInact(a(y1)))
ISNATLIST(consInact(nilInact, y1)) → AND(isNat(nil), isNatListInact(a(y1)))
AND(tt, isNatIListInact(y_4)) → A(isNatIListInact(y_4))
ISNATLIST(consInact(sInact(x0), y1)) → AND(isNat(s(x0)), isNatListInact(a(y1)))
AND(tt, isNatListInact(y_3)) → A(isNatListInact(y_3))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATILIST(consInact(isNatIListInact(x0), y1)) → AND(isNat(isNatIList(x0)), isNatIListInact(a(y1)))
ISNATLIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatListInact(a(y1)))
ISNATILIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatIListInact(a(y1)))
ISNATILIST(consInact(lengthInact(x0), y1)) → AND(isNat(length(x0)), isNatIListInact(a(y1)))
ISNATLIST(consInact(isNatIListInact(x0), y1)) → AND(isNat(isNatIList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
ISNATILIST(consInact(0Inact, y1)) → AND(isNat(0), isNatIListInact(a(y1)))
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
ISNATLIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(nilInact, y1)) → AND(isNat(nil), isNatListInact(a(y1)))
ISNATLIST(consInact(sInact(x0), y1)) → AND(isNat(s(x0)), isNatListInact(a(y1)))
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATLIST(consInact(lengthInact(x0), y1)) → AND(isNat(length(x0)), isNatListInact(a(y1)))
AND(tt, isNatListInact(y_3)) → A(isNatListInact(y_3))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatIListInact(x0), y1)) → AND(isNat(isNatIList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatListInact(a(y1)))
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
ISNATLIST(consInact(nilInact, y1)) → AND(isNat(nil), isNatListInact(a(y1)))
POL(0) = 0
POL(0Inact) = 0
POL(A(x1)) = 1 + x1
POL(AND(x1, x2)) = 1 + x1 + x2
POL(ISNATLIST(x1)) = 1 + x1
POL(U11(x1, x2)) = x1 + 2·x2
POL(a(x1)) = x1
POL(and(x1, x2)) = x1 + x2
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(consInact(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatIList(x1)) = x1
POL(isNatIListInact(x1)) = x1
POL(isNatInact(x1)) = x1
POL(isNatList(x1)) = x1
POL(isNatListInact(x1)) = x1
POL(length(x1)) = 2·x1
POL(lengthInact(x1)) = 2·x1
POL(nil) = 1
POL(nilInact) = 1
POL(s(x1)) = x1
POL(sInact(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
POL(zerosInact) = 0
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
ISNATLIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatListInact(a(y1)))
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATLIST(consInact(sInact(x0), y1)) → AND(isNat(s(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(lengthInact(x0), y1)) → AND(isNat(length(x0)), isNatListInact(a(y1)))
AND(tt, isNatListInact(y_3)) → A(isNatListInact(y_3))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatIListInact(x0), y1)) → AND(isNat(isNatIList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatListInact(a(y1)))
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
ISNATLIST(consInact(isNatIListInact(x0), y1)) → AND(isNat(isNatIList(x0)), isNatListInact(a(y1)))
POL(0) = 0
POL(0Inact) = 0
POL(A(x1)) = 2·x1
POL(AND(x1, x2)) = 2·x1 + 2·x2
POL(ISNATLIST(x1)) = 2·x1
POL(U11(x1, x2)) = x1 + 2·x2
POL(a(x1)) = x1
POL(and(x1, x2)) = x1 + x2
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(consInact(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatIList(x1)) = 2 + x1
POL(isNatIListInact(x1)) = 2 + x1
POL(isNatInact(x1)) = x1
POL(isNatList(x1)) = 2·x1
POL(isNatListInact(x1)) = 2·x1
POL(length(x1)) = 2·x1
POL(lengthInact(x1)) = 2·x1
POL(nil) = 0
POL(nilInact) = 0
POL(s(x1)) = x1
POL(sInact(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
POL(zerosInact) = 0
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
ISNATLIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(sInact(x0), y1)) → AND(isNat(s(x0)), isNatListInact(a(y1)))
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATLIST(consInact(lengthInact(x0), y1)) → AND(isNat(length(x0)), isNatListInact(a(y1)))
AND(tt, isNatListInact(y_3)) → A(isNatListInact(y_3))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatListInact(a(y1)))
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
ISNATLIST(consInact(lengthInact(x0), y1)) → AND(isNat(length(x0)), isNatListInact(a(y1)))
POL(0) = 0
POL(0Inact) = 0
POL(A(x1)) = 2·x1
POL(AND(x1, x2)) = x1 + 2·x2
POL(ISNATLIST(x1)) = 2·x1
POL(U11(x1, x2)) = 1 + x1 + 2·x2
POL(a(x1)) = x1
POL(and(x1, x2)) = x1 + 2·x2
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(consInact(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = 2·x1
POL(isNatIList(x1)) = x1
POL(isNatIListInact(x1)) = x1
POL(isNatInact(x1)) = 2·x1
POL(isNatList(x1)) = 2·x1
POL(isNatListInact(x1)) = 2·x1
POL(length(x1)) = 1 + 2·x1
POL(lengthInact(x1)) = 1 + 2·x1
POL(nil) = 0
POL(nilInact) = 0
POL(s(x1)) = x1
POL(sInact(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
POL(zerosInact) = 0
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
ISNATLIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatListInact(a(y1)))
A(isNatListInact(x1)) → ISNATLIST(x1)
ISNATLIST(consInact(sInact(x0), y1)) → AND(isNat(s(x0)), isNatListInact(a(y1)))
AND(tt, isNatListInact(y_3)) → A(isNatListInact(y_3))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatListInact(a(y1)))
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATLIST(consInact(sInact(x0), y1)) → AND(isNat(s(x0)), isNatListInact(a(y1)))
Used ordering: Polynomial interpretation [25]:
ISNATLIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatListInact(a(y1)))
A(isNatListInact(x1)) → ISNATLIST(x1)
AND(tt, isNatListInact(y_3)) → A(isNatListInact(y_3))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatListInact(a(y1)))
POL(0) = 0
POL(0Inact) = 0
POL(A(x1)) = x1
POL(AND(x1, x2)) = x2
POL(ISNATLIST(x1)) = x1
POL(U11(x1, x2)) = 1
POL(a(x1)) = x1
POL(and(x1, x2)) = x2
POL(cons(x1, x2)) = x1 + x2
POL(consInact(x1, x2)) = x1 + x2
POL(isNat(x1)) = 0
POL(isNatIList(x1)) = 0
POL(isNatIListInact(x1)) = 0
POL(isNatInact(x1)) = 0
POL(isNatList(x1)) = x1
POL(isNatListInact(x1)) = x1
POL(length(x1)) = 1
POL(lengthInact(x1)) = 1
POL(nil) = 0
POL(nilInact) = 0
POL(s(x1)) = 1
POL(sInact(x1)) = 1
POL(tt) = 0
POL(zeros) = 0
POL(zerosInact) = 0
cons(x1, x2) → consInact(x1, x2)
a(isNatInact(x1)) → isNat(x1)
and(tt, X) → a(X)
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
a(isNatIListInact(x1)) → isNatIList(x1)
a(isNatListInact(x1)) → isNatList(x1)
zeros → cons(0, zerosInact)
0 → 0Inact
zeros → zerosInact
isNat(x1) → isNatInact(x1)
isNatIList(x1) → isNatIListInact(x1)
isNat(sInact(V1)) → isNat(a(V1))
a(x) → x
isNatList(x1) → isNatListInact(x1)
a(0Inact) → 0
U11(tt, L) → s(length(a(L)))
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(nilInact) → nil
isNat(0Inact) → tt
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
length(x1) → lengthInact(x1)
a(sInact(x1)) → s(x1)
nil → nilInact
a(consInact(x1, x2)) → cons(x1, x2)
a(lengthInact(x1)) → length(x1)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
ISNATLIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatListInact(a(y1)))
A(isNatListInact(x1)) → ISNATLIST(x1)
AND(tt, isNatListInact(y_3)) → A(isNatListInact(y_3))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatListInact(a(y1)))
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATLIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatListInact(a(y1)))
Used ordering: Polynomial interpretation [25]:
A(isNatListInact(x1)) → ISNATLIST(x1)
AND(tt, isNatListInact(y_3)) → A(isNatListInact(y_3))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatListInact(a(y1)))
POL(0) = 0
POL(0Inact) = 0
POL(A(x1)) = 1 + x1
POL(AND(x1, x2)) = 1 + x2
POL(ISNATLIST(x1)) = 1 + x1
POL(U11(x1, x2)) = 0
POL(a(x1)) = x1
POL(and(x1, x2)) = x2
POL(cons(x1, x2)) = x1 + x2
POL(consInact(x1, x2)) = x1 + x2
POL(isNat(x1)) = 1
POL(isNatIList(x1)) = 0
POL(isNatIListInact(x1)) = 0
POL(isNatInact(x1)) = 1
POL(isNatList(x1)) = x1
POL(isNatListInact(x1)) = x1
POL(length(x1)) = 0
POL(lengthInact(x1)) = 0
POL(nil) = 0
POL(nilInact) = 0
POL(s(x1)) = x1
POL(sInact(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
POL(zerosInact) = 0
cons(x1, x2) → consInact(x1, x2)
a(isNatInact(x1)) → isNat(x1)
and(tt, X) → a(X)
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
a(isNatIListInact(x1)) → isNatIList(x1)
a(isNatListInact(x1)) → isNatList(x1)
zeros → cons(0, zerosInact)
0 → 0Inact
zeros → zerosInact
isNat(x1) → isNatInact(x1)
isNatIList(x1) → isNatIListInact(x1)
isNat(sInact(V1)) → isNat(a(V1))
a(x) → x
isNatList(x1) → isNatListInact(x1)
a(0Inact) → 0
U11(tt, L) → s(length(a(L)))
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(nilInact) → nil
isNat(0Inact) → tt
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
length(x1) → lengthInact(x1)
a(sInact(x1)) → s(x1)
nil → nilInact
a(consInact(x1, x2)) → cons(x1, x2)
a(lengthInact(x1)) → length(x1)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
A(isNatListInact(x1)) → ISNATLIST(x1)
AND(tt, isNatListInact(y_3)) → A(isNatListInact(y_3))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
ISNATLIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatListInact(a(y1)))
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATLIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatListInact(a(y1)))
Used ordering: Polynomial interpretation [25]:
A(isNatListInact(x1)) → ISNATLIST(x1)
AND(tt, isNatListInact(y_3)) → A(isNatListInact(y_3))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
POL(0) = 0
POL(0Inact) = 0
POL(A(x1)) = x1
POL(AND(x1, x2)) = x2
POL(ISNATLIST(x1)) = x1
POL(U11(x1, x2)) = x2
POL(a(x1)) = x1
POL(and(x1, x2)) = x2
POL(cons(x1, x2)) = x1 + x2
POL(consInact(x1, x2)) = x1 + x2
POL(isNat(x1)) = 0
POL(isNatIList(x1)) = 0
POL(isNatIListInact(x1)) = 0
POL(isNatInact(x1)) = 0
POL(isNatList(x1)) = x1
POL(isNatListInact(x1)) = x1
POL(length(x1)) = x1
POL(lengthInact(x1)) = x1
POL(nil) = 0
POL(nilInact) = 0
POL(s(x1)) = x1
POL(sInact(x1)) = x1
POL(tt) = 0
POL(zeros) = 1
POL(zerosInact) = 1
cons(x1, x2) → consInact(x1, x2)
a(isNatInact(x1)) → isNat(x1)
and(tt, X) → a(X)
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
a(isNatIListInact(x1)) → isNatIList(x1)
a(isNatListInact(x1)) → isNatList(x1)
zeros → cons(0, zerosInact)
0 → 0Inact
zeros → zerosInact
isNat(x1) → isNatInact(x1)
isNatIList(x1) → isNatIListInact(x1)
isNat(sInact(V1)) → isNat(a(V1))
a(x) → x
isNatList(x1) → isNatListInact(x1)
a(0Inact) → 0
U11(tt, L) → s(length(a(L)))
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(nilInact) → nil
isNat(0Inact) → tt
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
length(x1) → lengthInact(x1)
a(sInact(x1)) → s(x1)
nil → nilInact
a(consInact(x1, x2)) → cons(x1, x2)
a(lengthInact(x1)) → length(x1)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
A(isNatListInact(x1)) → ISNATLIST(x1)
AND(tt, isNatListInact(y_3)) → A(isNatListInact(y_3))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATLIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatListInact(a(y1)))
Used ordering: Polynomial interpretation [25]:
A(isNatListInact(x1)) → ISNATLIST(x1)
AND(tt, isNatListInact(y_3)) → A(isNatListInact(y_3))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
POL(0) = 0
POL(0Inact) = 0
POL(A(x1)) = x1
POL(AND(x1, x2)) = x2
POL(ISNATLIST(x1)) = x1
POL(U11(x1, x2)) = 0
POL(a(x1)) = 1 + x1
POL(and(x1, x2)) = 1 + x2
POL(cons(x1, x2)) = 1 + x1 + x2
POL(consInact(x1, x2)) = 1 + x1 + x2
POL(isNat(x1)) = 0
POL(isNatIList(x1)) = 1
POL(isNatIListInact(x1)) = 0
POL(isNatInact(x1)) = 0
POL(isNatList(x1)) = 1 + x1
POL(isNatListInact(x1)) = x1
POL(length(x1)) = 0
POL(lengthInact(x1)) = 0
POL(nil) = 0
POL(nilInact) = 0
POL(s(x1)) = 0
POL(sInact(x1)) = 0
POL(tt) = 0
POL(zeros) = 1
POL(zerosInact) = 0
cons(x1, x2) → consInact(x1, x2)
a(isNatInact(x1)) → isNat(x1)
and(tt, X) → a(X)
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
a(isNatIListInact(x1)) → isNatIList(x1)
a(isNatListInact(x1)) → isNatList(x1)
zeros → cons(0, zerosInact)
0 → 0Inact
zeros → zerosInact
isNat(x1) → isNatInact(x1)
isNatIList(x1) → isNatIListInact(x1)
isNat(sInact(V1)) → isNat(a(V1))
isNatList(x1) → isNatListInact(x1)
a(x) → x
a(0Inact) → 0
U11(tt, L) → s(length(a(L)))
a(zerosInact) → zeros
s(x1) → sInact(x1)
isNat(0Inact) → tt
a(nilInact) → nil
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
length(x1) → lengthInact(x1)
a(sInact(x1)) → s(x1)
nil → nilInact
a(consInact(x1, x2)) → cons(x1, x2)
a(lengthInact(x1)) → length(x1)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
A(isNatListInact(x1)) → ISNATLIST(x1)
AND(tt, isNatListInact(y_3)) → A(isNatListInact(y_3))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNATLIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatListInact(a(y1)))
Used ordering: Polynomial interpretation [25]:
A(isNatListInact(x1)) → ISNATLIST(x1)
AND(tt, isNatListInact(y_3)) → A(isNatListInact(y_3))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
POL(0) = 0
POL(0Inact) = 0
POL(A(x1)) = x1
POL(AND(x1, x2)) = x2
POL(ISNATLIST(x1)) = 1 + x1
POL(U11(x1, x2)) = 0
POL(a(x1)) = x1
POL(and(x1, x2)) = x2
POL(cons(x1, x2)) = x1 + x2
POL(consInact(x1, x2)) = x1 + x2
POL(isNat(x1)) = 0
POL(isNatIList(x1)) = x1
POL(isNatIListInact(x1)) = x1
POL(isNatInact(x1)) = 0
POL(isNatList(x1)) = 1 + x1
POL(isNatListInact(x1)) = 1 + x1
POL(length(x1)) = 0
POL(lengthInact(x1)) = 0
POL(nil) = 0
POL(nilInact) = 0
POL(s(x1)) = 0
POL(sInact(x1)) = 0
POL(tt) = 0
POL(zeros) = 0
POL(zerosInact) = 0
cons(x1, x2) → consInact(x1, x2)
a(isNatInact(x1)) → isNat(x1)
and(tt, X) → a(X)
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
a(isNatIListInact(x1)) → isNatIList(x1)
a(isNatListInact(x1)) → isNatList(x1)
zeros → cons(0, zerosInact)
0 → 0Inact
zeros → zerosInact
isNat(x1) → isNatInact(x1)
isNatIList(x1) → isNatIListInact(x1)
isNat(sInact(V1)) → isNat(a(V1))
isNatList(x1) → isNatListInact(x1)
a(x) → x
a(0Inact) → 0
U11(tt, L) → s(length(a(L)))
a(zerosInact) → zeros
s(x1) → sInact(x1)
isNat(0Inact) → tt
a(nilInact) → nil
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
length(x1) → lengthInact(x1)
a(sInact(x1)) → s(x1)
nil → nilInact
a(consInact(x1, x2)) → cons(x1, x2)
a(lengthInact(x1)) → length(x1)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
A(isNatListInact(x1)) → ISNATLIST(x1)
AND(tt, isNatListInact(y_3)) → A(isNatListInact(y_3))
ISNATLIST(consInact(0Inact, y1)) → AND(isNat(0), isNatListInact(a(y1)))
ISNATLIST(consInact(x0, y1)) → AND(isNat(x0), isNatListInact(a(y1)))
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
ISNATILIST(consInact(isNatInact(x0), y1)) → AND(isNat(isNat(x0)), isNatIListInact(a(y1)))
AND(tt, isNatIListInact(y_4)) → A(isNatIListInact(y_4))
ISNATILIST(consInact(x0, y1)) → AND(isNat(x0), isNatIListInact(a(y1)))
ISNATILIST(consInact(sInact(x0), y1)) → AND(isNat(s(x0)), isNatIListInact(a(y1)))
ISNATILIST(consInact(isNatListInact(x0), y1)) → AND(isNat(isNatList(x0)), isNatIListInact(a(y1)))
ISNATILIST(consInact(zerosInact, y1)) → AND(isNat(zeros), isNatIListInact(a(y1)))
ISNATILIST(consInact(nilInact, y1)) → AND(isNat(nil), isNatIListInact(a(y1)))
ISNATILIST(consInact(consInact(x0, x1), y1)) → AND(isNat(cons(x0, x1)), isNatIListInact(a(y1)))
A(isNatIListInact(x1)) → ISNATILIST(x1)
ISNATILIST(consInact(lengthInact(x0), y1)) → AND(isNat(length(x0)), isNatIListInact(a(y1)))
ISNATILIST(consInact(isNatIListInact(x0), y1)) → AND(isNat(isNatIList(x0)), isNatIListInact(a(y1)))
ISNATILIST(consInact(0Inact, y1)) → AND(isNat(0), isNatIListInact(a(y1)))
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
ISNAT(sInact(V1)) → ISNAT(a(V1))
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ RuleRemovalProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
U111(tt, L) → LENGTH(a(L))
LENGTH(cons(N, L)) → U111(and(isNatList(a(L)), isNatInact(N)), a(L))
zeros → cons(0, zerosInact)
U11(tt, L) → s(length(a(L)))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(sInact(V1)) → isNat(a(V1))
isNatIList(consInact(V1, V2)) → and(isNat(a(V1)), isNatIListInact(a(V2)))
isNatList(consInact(V1, V2)) → and(isNat(a(V1)), isNatListInact(a(V2)))
length(cons(N, L)) → U11(and(isNatList(a(L)), isNatInact(N)), a(L))
a(x) → x
isNat(x1) → isNatInact(x1)
a(isNatInact(x1)) → isNat(x1)
length(x1) → lengthInact(x1)
a(lengthInact(x1)) → length(x1)
zeros → zerosInact
a(zerosInact) → zeros
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
0 → 0Inact
a(0Inact) → 0
isNatIList(x1) → isNatIListInact(x1)
a(isNatIListInact(x1)) → isNatIList(x1)
nil → nilInact
a(nilInact) → nil
isNatList(x1) → isNatListInact(x1)
a(isNatListInact(x1)) → isNatList(x1)
cons(x1, x2) → consInact(x1, x2)
a(consInact(x1, x2)) → cons(x1, x2)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
mark(zeros) → zerosActive
zerosActive → zeros
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatIList(x1)) → isNatIListActive(x1)
isNatIListActive(x1) → isNatIList(x1)
mark(isNatList(x1)) → isNatListActive(x1)
isNatListActive(x1) → isNatList(x1)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
zerosActive → cons(0, zeros)
U11Active(tt, L) → s(lengthActive(mark(L)))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(length(V1)) → isNatListActive(V1)
isNatActive(s(V1)) → isNatActive(V1)
isNatIListActive(V) → isNatListActive(V)
isNatIListActive(zeros) → tt
isNatIListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatIList(V2))
isNatListActive(nil) → tt
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
lengthActive(nil) → 0
lengthActive(cons(N, L)) → U11Active(andActive(isNatListActive(L), isNat(N)), L)
mark(zeros) → zerosActive
zerosActive → zeros
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatIList(x1)) → isNatIListActive(x1)
isNatIListActive(x1) → isNatIList(x1)
mark(isNatList(x1)) → isNatListActive(x1)
isNatListActive(x1) → isNatList(x1)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
zerosActive → cons(0, zeros)
U11Active(tt, L) → s(lengthActive(mark(L)))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(length(V1)) → isNatListActive(V1)
isNatActive(s(V1)) → isNatActive(V1)
isNatIListActive(V) → isNatListActive(V)
isNatIListActive(zeros) → tt
isNatIListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatIList(V2))
isNatListActive(nil) → tt
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
lengthActive(nil) → 0
lengthActive(cons(N, L)) → U11Active(andActive(isNatListActive(L), isNat(N)), L)
Used ordering:
isNatIListActive(V) → isNatListActive(V)
isNatIListActive(zeros) → tt
POL(0) = 0
POL(U11(x1, x2)) = x1 + 2·x2
POL(U11Active(x1, x2)) = x1 + 2·x2
POL(and(x1, x2)) = x1 + x2
POL(andActive(x1, x2)) = x1 + x2
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatActive(x1)) = x1
POL(isNatIList(x1)) = 1 + 2·x1
POL(isNatIListActive(x1)) = 1 + 2·x1
POL(isNatList(x1)) = 2·x1
POL(isNatListActive(x1)) = 2·x1
POL(length(x1)) = 2·x1
POL(lengthActive(x1)) = 2·x1
POL(mark(x1)) = x1
POL(nil) = 0
POL(s(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
POL(zerosActive) = 0
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
mark(zeros) → zerosActive
zerosActive → zeros
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatIList(x1)) → isNatIListActive(x1)
isNatIListActive(x1) → isNatIList(x1)
mark(isNatList(x1)) → isNatListActive(x1)
isNatListActive(x1) → isNatList(x1)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
zerosActive → cons(0, zeros)
U11Active(tt, L) → s(lengthActive(mark(L)))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(length(V1)) → isNatListActive(V1)
isNatActive(s(V1)) → isNatActive(V1)
isNatIListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatIList(V2))
isNatListActive(nil) → tt
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
lengthActive(nil) → 0
lengthActive(cons(N, L)) → U11Active(andActive(isNatListActive(L), isNat(N)), L)
mark(zeros) → zerosActive
zerosActive → zeros
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatIList(x1)) → isNatIListActive(x1)
isNatIListActive(x1) → isNatIList(x1)
mark(isNatList(x1)) → isNatListActive(x1)
isNatListActive(x1) → isNatList(x1)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
zerosActive → cons(0, zeros)
U11Active(tt, L) → s(lengthActive(mark(L)))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(length(V1)) → isNatListActive(V1)
isNatActive(s(V1)) → isNatActive(V1)
isNatIListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatIList(V2))
isNatListActive(nil) → tt
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
lengthActive(nil) → 0
lengthActive(cons(N, L)) → U11Active(andActive(isNatListActive(L), isNat(N)), L)
Used ordering:
isNatListActive(nil) → tt
lengthActive(nil) → 0
POL(0) = 0
POL(U11(x1, x2)) = x1 + 2·x2
POL(U11Active(x1, x2)) = x1 + 2·x2
POL(and(x1, x2)) = x1 + x2
POL(andActive(x1, x2)) = x1 + x2
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatActive(x1)) = x1
POL(isNatIList(x1)) = x1
POL(isNatIListActive(x1)) = x1
POL(isNatList(x1)) = x1
POL(isNatListActive(x1)) = x1
POL(length(x1)) = 2·x1
POL(lengthActive(x1)) = 2·x1
POL(mark(x1)) = x1
POL(nil) = 1
POL(s(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
POL(zerosActive) = 0
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
mark(zeros) → zerosActive
zerosActive → zeros
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatIList(x1)) → isNatIListActive(x1)
isNatIListActive(x1) → isNatIList(x1)
mark(isNatList(x1)) → isNatListActive(x1)
isNatListActive(x1) → isNatList(x1)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
zerosActive → cons(0, zeros)
U11Active(tt, L) → s(lengthActive(mark(L)))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(length(V1)) → isNatListActive(V1)
isNatActive(s(V1)) → isNatActive(V1)
isNatIListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatIList(V2))
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
lengthActive(cons(N, L)) → U11Active(andActive(isNatListActive(L), isNat(N)), L)
mark(zeros) → zerosActive
zerosActive → zeros
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatIList(x1)) → isNatIListActive(x1)
isNatIListActive(x1) → isNatIList(x1)
mark(isNatList(x1)) → isNatListActive(x1)
isNatListActive(x1) → isNatList(x1)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
zerosActive → cons(0, zeros)
U11Active(tt, L) → s(lengthActive(mark(L)))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(length(V1)) → isNatListActive(V1)
isNatActive(s(V1)) → isNatActive(V1)
isNatIListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatIList(V2))
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
lengthActive(cons(N, L)) → U11Active(andActive(isNatListActive(L), isNat(N)), L)
Used ordering:
isNatActive(length(V1)) → isNatListActive(V1)
POL(0) = 0
POL(U11(x1, x2)) = 1 + 2·x1 + 2·x2
POL(U11Active(x1, x2)) = 1 + 2·x1 + 2·x2
POL(and(x1, x2)) = x1 + x2
POL(andActive(x1, x2)) = x1 + x2
POL(cons(x1, x2)) = x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatActive(x1)) = x1
POL(isNatIList(x1)) = x1
POL(isNatIListActive(x1)) = x1
POL(isNatList(x1)) = x1
POL(isNatListActive(x1)) = x1
POL(length(x1)) = 1 + 2·x1
POL(lengthActive(x1)) = 1 + 2·x1
POL(mark(x1)) = x1
POL(nil) = 0
POL(s(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
POL(zerosActive) = 0
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
mark(zeros) → zerosActive
zerosActive → zeros
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatIList(x1)) → isNatIListActive(x1)
isNatIListActive(x1) → isNatIList(x1)
mark(isNatList(x1)) → isNatListActive(x1)
isNatListActive(x1) → isNatList(x1)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
zerosActive → cons(0, zeros)
U11Active(tt, L) → s(lengthActive(mark(L)))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(s(V1)) → isNatActive(V1)
isNatIListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatIList(V2))
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
lengthActive(cons(N, L)) → U11Active(andActive(isNatListActive(L), isNat(N)), L)
mark(zeros) → zerosActive
zerosActive → zeros
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatIList(x1)) → isNatIListActive(x1)
isNatIListActive(x1) → isNatIList(x1)
mark(isNatList(x1)) → isNatListActive(x1)
isNatListActive(x1) → isNatList(x1)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(0) → 0
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(nil) → nil
zerosActive → cons(0, zeros)
U11Active(tt, L) → s(lengthActive(mark(L)))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(s(V1)) → isNatActive(V1)
isNatIListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatIList(V2))
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
lengthActive(cons(N, L)) → U11Active(andActive(isNatListActive(L), isNat(N)), L)
Used ordering:
zerosActive → zeros
mark(isNat(x1)) → isNatActive(x1)
isNatIListActive(x1) → isNatIList(x1)
mark(isNatList(x1)) → isNatListActive(x1)
mark(0) → 0
mark(tt) → tt
mark(nil) → nil
isNatIListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatIList(V2))
POL(0) = 1
POL(U11(x1, x2)) = x1 + x2
POL(U11Active(x1, x2)) = x1 + x2
POL(and(x1, x2)) = x1 + x2
POL(andActive(x1, x2)) = x1 + x2
POL(cons(x1, x2)) = x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatActive(x1)) = x1
POL(isNatIList(x1)) = 1 + 2·x1
POL(isNatIListActive(x1)) = 2 + 2·x1
POL(isNatList(x1)) = x1
POL(isNatListActive(x1)) = x1
POL(length(x1)) = x1
POL(lengthActive(x1)) = x1
POL(mark(x1)) = 1 + x1
POL(nil) = 0
POL(s(x1)) = x1
POL(tt) = 1
POL(zeros) = 0
POL(zerosActive) = 1
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
mark(zeros) → zerosActive
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
isNatActive(x1) → isNat(x1)
mark(isNatIList(x1)) → isNatIListActive(x1)
isNatListActive(x1) → isNatList(x1)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(s(x1)) → s(mark(x1))
zerosActive → cons(0, zeros)
U11Active(tt, L) → s(lengthActive(mark(L)))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(s(V1)) → isNatActive(V1)
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
lengthActive(cons(N, L)) → U11Active(andActive(isNatListActive(L), isNat(N)), L)
mark(zeros) → zerosActive
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
isNatActive(x1) → isNat(x1)
mark(isNatIList(x1)) → isNatIListActive(x1)
isNatListActive(x1) → isNatList(x1)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(s(x1)) → s(mark(x1))
zerosActive → cons(0, zeros)
U11Active(tt, L) → s(lengthActive(mark(L)))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(s(V1)) → isNatActive(V1)
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
lengthActive(cons(N, L)) → U11Active(andActive(isNatListActive(L), isNat(N)), L)
Used ordering:
mark(isNatIList(x1)) → isNatIListActive(x1)
POL(0) = 0
POL(U11(x1, x2)) = x1 + 2·x2
POL(U11Active(x1, x2)) = x1 + 2·x2
POL(and(x1, x2)) = 2·x1 + 2·x2
POL(andActive(x1, x2)) = 2·x1 + 2·x2
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatActive(x1)) = x1
POL(isNatIList(x1)) = 2 + x1
POL(isNatIListActive(x1)) = 1 + x1
POL(isNatList(x1)) = x1
POL(isNatListActive(x1)) = x1
POL(length(x1)) = 2·x1
POL(lengthActive(x1)) = 2·x1
POL(mark(x1)) = x1
POL(s(x1)) = x1
POL(tt) = 0
POL(zeros) = 0
POL(zerosActive) = 0
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
mark(zeros) → zerosActive
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
isNatActive(x1) → isNat(x1)
isNatListActive(x1) → isNatList(x1)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(s(x1)) → s(mark(x1))
zerosActive → cons(0, zeros)
U11Active(tt, L) → s(lengthActive(mark(L)))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(s(V1)) → isNatActive(V1)
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
lengthActive(cons(N, L)) → U11Active(andActive(isNatListActive(L), isNat(N)), L)
mark(zeros) → zerosActive
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
isNatActive(x1) → isNat(x1)
isNatListActive(x1) → isNatList(x1)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(s(x1)) → s(mark(x1))
zerosActive → cons(0, zeros)
U11Active(tt, L) → s(lengthActive(mark(L)))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(s(V1)) → isNatActive(V1)
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
lengthActive(cons(N, L)) → U11Active(andActive(isNatListActive(L), isNat(N)), L)
Used ordering:
isNatActive(x1) → isNat(x1)
isNatListActive(x1) → isNatList(x1)
andActive(tt, X) → mark(X)
POL(0) = 0
POL(U11(x1, x2)) = 2·x1 + 2·x2
POL(U11Active(x1, x2)) = 2·x1 + 2·x2
POL(and(x1, x2)) = x1 + 2·x2
POL(andActive(x1, x2)) = x1 + 2·x2
POL(cons(x1, x2)) = 2·x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatActive(x1)) = 1 + 2·x1
POL(isNatList(x1)) = x1
POL(isNatListActive(x1)) = 1 + x1
POL(length(x1)) = 2 + 2·x1
POL(lengthActive(x1)) = 2 + 2·x1
POL(mark(x1)) = x1
POL(s(x1)) = x1
POL(tt) = 1
POL(zeros) = 0
POL(zerosActive) = 0
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
mark(zeros) → zerosActive
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(s(x1)) → s(mark(x1))
zerosActive → cons(0, zeros)
U11Active(tt, L) → s(lengthActive(mark(L)))
isNatActive(0) → tt
isNatActive(s(V1)) → isNatActive(V1)
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
lengthActive(cons(N, L)) → U11Active(andActive(isNatListActive(L), isNat(N)), L)
mark(zeros) → zerosActive
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(s(x1)) → s(mark(x1))
zerosActive → cons(0, zeros)
U11Active(tt, L) → s(lengthActive(mark(L)))
isNatActive(0) → tt
isNatActive(s(V1)) → isNatActive(V1)
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
lengthActive(cons(N, L)) → U11Active(andActive(isNatListActive(L), isNat(N)), L)
Used ordering:
lengthActive(cons(N, L)) → U11Active(andActive(isNatListActive(L), isNat(N)), L)
POL(0) = 0
POL(U11(x1, x2)) = x1 + x2
POL(U11Active(x1, x2)) = x1 + x2
POL(and(x1, x2)) = x1 + x2
POL(andActive(x1, x2)) = x1 + x2
POL(cons(x1, x2)) = 1 + x1 + 2·x2
POL(isNat(x1)) = x1
POL(isNatActive(x1)) = 1 + x1
POL(isNatList(x1)) = x1
POL(isNatListActive(x1)) = x1
POL(length(x1)) = x1
POL(lengthActive(x1)) = x1
POL(mark(x1)) = 1 + x1
POL(s(x1)) = x1
POL(tt) = 1
POL(zeros) = 0
POL(zerosActive) = 1
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
mark(zeros) → zerosActive
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(s(x1)) → s(mark(x1))
zerosActive → cons(0, zeros)
U11Active(tt, L) → s(lengthActive(mark(L)))
isNatActive(0) → tt
isNatActive(s(V1)) → isNatActive(V1)
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
mark(zeros) → zerosActive
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(s(x1)) → s(mark(x1))
zerosActive → cons(0, zeros)
U11Active(tt, L) → s(lengthActive(mark(L)))
isNatActive(0) → tt
isNatActive(s(V1)) → isNatActive(V1)
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
Used ordering:
U11Active(tt, L) → s(lengthActive(mark(L)))
POL(0) = 0
POL(U11(x1, x2)) = 2·x1 + 2·x2
POL(U11Active(x1, x2)) = 2·x1 + 2·x2
POL(and(x1, x2)) = 2·x1 + 2·x2
POL(andActive(x1, x2)) = 2·x1 + 2·x2
POL(cons(x1, x2)) = 2·x1 + x2
POL(isNatActive(x1)) = 1 + 2·x1
POL(isNatList(x1)) = x1
POL(isNatListActive(x1)) = 2 + 2·x1
POL(length(x1)) = 1 + x1
POL(lengthActive(x1)) = 1 + x1
POL(mark(x1)) = x1
POL(s(x1)) = x1
POL(tt) = 1
POL(zeros) = 0
POL(zerosActive) = 0
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
mark(zeros) → zerosActive
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(s(x1)) → s(mark(x1))
zerosActive → cons(0, zeros)
isNatActive(0) → tt
isNatActive(s(V1)) → isNatActive(V1)
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
mark(zeros) → zerosActive
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
U11Active(x1, x2) → U11(x1, x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
mark(s(x1)) → s(mark(x1))
zerosActive → cons(0, zeros)
isNatActive(0) → tt
isNatActive(s(V1)) → isNatActive(V1)
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
Used ordering:
U11Active(x1, x2) → U11(x1, x2)
mark(s(x1)) → s(mark(x1))
zerosActive → cons(0, zeros)
isNatActive(0) → tt
isNatActive(s(V1)) → isNatActive(V1)
POL(0) = 1
POL(U11(x1, x2)) = 1 + x1 + x2
POL(U11Active(x1, x2)) = 2 + x1 + 2·x2
POL(and(x1, x2)) = 2 + 2·x1 + 2·x2
POL(andActive(x1, x2)) = 2 + 2·x1 + 2·x2
POL(cons(x1, x2)) = x1 + 2·x2
POL(isNatActive(x1)) = x1
POL(isNatList(x1)) = 2·x1
POL(isNatListActive(x1)) = 2 + 2·x1
POL(length(x1)) = x1
POL(lengthActive(x1)) = x1
POL(mark(x1)) = 2 + 2·x1
POL(s(x1)) = 1 + x1
POL(tt) = 0
POL(zeros) = 0
POL(zerosActive) = 2
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
mark(zeros) → zerosActive
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
mark(zeros) → zerosActive
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
mark(cons(x1, x2)) → cons(mark(x1), x2)
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
Used ordering:
mark(zeros) → zerosActive
mark(U11(x1, x2)) → U11Active(mark(x1), x2)
mark(and(x1, x2)) → andActive(mark(x1), x2)
mark(cons(x1, x2)) → cons(mark(x1), x2)
isNatListActive(cons(V1, V2)) → andActive(isNatActive(V1), isNatList(V2))
POL(U11(x1, x2)) = 1 + x1 + 2·x2
POL(U11Active(x1, x2)) = 1 + x1 + x2
POL(and(x1, x2)) = 1 + x1 + x2
POL(andActive(x1, x2)) = 1 + x1 + 2·x2
POL(cons(x1, x2)) = 1 + x1 + 2·x2
POL(isNatActive(x1)) = x1
POL(isNatList(x1)) = x1
POL(isNatListActive(x1)) = 2·x1
POL(length(x1)) = x1
POL(lengthActive(x1)) = x1
POL(mark(x1)) = 2 + 2·x1
POL(zeros) = 2
POL(zerosActive) = 1
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
andActive(x1, x2) → and(x1, x2)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
andActive(x1, x2) → and(x1, x2)
mark(length(x1)) → lengthActive(mark(x1))
lengthActive(x1) → length(x1)
Used ordering:
lengthActive(x1) → length(x1)
POL(and(x1, x2)) = 2 + x1 + x2
POL(andActive(x1, x2)) = 2 + 2·x1 + 2·x2
POL(length(x1)) = 1 + 2·x1
POL(lengthActive(x1)) = 2 + 2·x1
POL(mark(x1)) = 2·x1
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
andActive(x1, x2) → and(x1, x2)
mark(length(x1)) → lengthActive(mark(x1))
andActive(x1, x2) → and(x1, x2)
mark(length(x1)) → lengthActive(mark(x1))
Used ordering:
andActive(x1, x2) → and(x1, x2)
mark(length(x1)) → lengthActive(mark(x1))
POL(and(x1, x2)) = 1 + x1 + x2
POL(andActive(x1, x2)) = 2 + 2·x1 + 2·x2
POL(length(x1)) = 2 + 2·x1
POL(lengthActive(x1)) = 1 + x1
POL(mark(x1)) = 2 + x1
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RRRPoloQTRSProof
↳ QTRS
↳ RisEmptyProof