YES
TRS
↳CSR to TRS Transformation
U71(1,2)
and(1,2)
U42(1,2)
isPalListKind(1)
U52(1,2)
U11(1,2)
U51(1,2,3)
U62(1)
U21(1,2,3)
U43(1)
U72(1)
isNePal(1)
isNeList(1)
U53(1)
U31(1,2)
U12(1)
U23(1)
(1, 2)
U22(1,2)
isPal(1)
U41(1,2,3)
U32(1)
U61(1,2)
isList(1)
isQid(1)
((X, Y), Z) -> (X, (Y, Z))
(X, nil) -> X
(nil, X) -> X
U11(tt, V) -> U12(isNeList(V))
U12(tt) -> tt
U21(tt, V1, V2) -> U22(isList(V1), V2)
U22(tt, V2) -> U23(isList(V2))
U23(tt) -> tt
U31(tt, V) -> U32(isQid(V))
U32(tt) -> tt
U41(tt, V1, V2) -> U42(isList(V1), V2)
U42(tt, V2) -> U43(isNeList(V2))
U43(tt) -> tt
U51(tt, V1, V2) -> U52(isNeList(V1), V2)
U52(tt, V2) -> U53(isList(V2))
U53(tt) -> tt
U61(tt, V) -> U62(isQid(V))
U62(tt) -> tt
U71(tt, V) -> U72(isNePal(V))
U72(tt) -> tt
and(tt, X) -> X
isList(V) -> U11(isPalListKind(V), V)
isList(nil) -> tt
isList((V1, V2)) -> U21(and(isPalListKind(V1), isPalListKind(V2)), V1, V2)
isNeList(V) -> U31(isPalListKind(V), V)
isNeList((V1, V2)) -> U41(and(isPalListKind(V1), isPalListKind(V2)), V1, V2)
isNeList((V1, V2)) -> U51(and(isPalListKind(V1), isPalListKind(V2)), V1, V2)
isNePal(V) -> U61(isPalListKind(V), V)
isNePal((I, (P, I))) -> and(and(isQid(I), isPalListKind(I)), and(isPal(P), isPalListKind(P)))
isPal(V) -> U71(isPalListKind(V), V)
isPal(nil) -> tt
isPalListKind(a) -> tt
isPalListKind(e) -> tt
isPalListKind(i) -> tt
isPalListKind(nil) -> tt
isPalListKind(o) -> tt
isPalListKind(u) -> tt
isPalListKind((V1, V2)) -> and(isPalListKind(V1), isPalListKind(V2))
isQid(a) -> tt
isQid(e) -> tt
isQid(i) -> tt
isQid(o) -> tt
isQid(u) -> tt
((X, Y), Z) -> (X, (Y, Z))
(X, nil) -> X
(nil, X) -> X
(x0, x1) -> (x0, x1)
nil -> nil
U11(tt, V) -> U12(isNeList(a(V)))
U12(tt) -> tt
isNeList(V) -> U31(isPalListKind(a(V)), a(V))
isNeList((V1, V2)) -> U41(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
isNeList((V1, V2)) -> U51(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
a(and(x0, x1)) -> and(x0, x1)
a(i) -> i
a(e) -> e
a((x0, x1)) -> (x0, x1)
a(o) -> o
a(isPalListKind(x0)) -> isPalListKind(x0)
a(nil) -> nil
a(a) -> a
a(u) -> u
U21(tt, V1, V2) -> U22(isList(a(V1)), a(V2))
U22(tt, V2) -> U23(isList(a(V2)))
isList(V) -> U11(isPalListKind(a(V)), a(V))
isList(nil) -> tt
isList((V1, V2)) -> U21(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
U23(tt) -> tt
U31(tt, V) -> U32(isQid(a(V)))
U32(tt) -> tt
isQid(a) -> tt
isQid(e) -> tt
isQid(i) -> tt
isQid(o) -> tt
isQid(u) -> tt
U41(tt, V1, V2) -> U42(isList(a(V1)), a(V2))
U42(tt, V2) -> U43(isNeList(a(V2)))
U43(tt) -> tt
U51(tt, V1, V2) -> U52(isNeList(a(V1)), a(V2))
U52(tt, V2) -> U53(isList(a(V2)))
U53(tt) -> tt
U61(tt, V) -> U62(isQid(a(V)))
U62(tt) -> tt
U71(tt, V) -> U72(isNePal(a(V)))
U72(tt) -> tt
isNePal(V) -> U61(isPalListKind(a(V)), a(V))
isNePal((I, (P, I))) -> and(and(isQid(a(I)), isPalListKind(a(I))), and(isPal(a(P)), isPalListKind(a(P))))
and(tt, X) -> a(X)
and(x0, x1) -> and(x0, x1)
isPalListKind(a) -> tt
isPalListKind(e) -> tt
isPalListKind(i) -> tt
isPalListKind(nil) -> tt
isPalListKind(o) -> tt
isPalListKind(u) -> tt
isPalListKind((V1, V2)) -> and(isPalListKind(a(V1)), isPalListKind(a(V2)))
isPalListKind(x0) -> isPalListKind(x0)
isPal(V) -> U71(isPalListKind(a(V)), a(V))
isPal(nil) -> tt
i -> i
e -> e
o -> o
a -> a
u -> u
TRS
↳CSRtoTRS
→TRS1
↳Dependency Pair Analysis
'((X, Y), Z) -> '(X, (Y, Z))
'((X, Y), Z) -> '(Y, Z)
U11'(tt, V) -> U12'(isNeList(a(V)))
U11'(tt, V) -> ISNELIST(a(V))
U11'(tt, V) -> A(V)
ISNELIST(V) -> U31'(isPalListKind(a(V)), a(V))
ISNELIST(V) -> ISPALLISTKIND(a(V))
ISNELIST(V) -> A(V)
ISNELIST((V1, V2)) -> U41'(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
ISNELIST((V1, V2)) -> AND(isPalListKind(a(V1)), isPalListKind(a(V2)))
ISNELIST((V1, V2)) -> ISPALLISTKIND(a(V1))
ISNELIST((V1, V2)) -> A(V1)
ISNELIST((V1, V2)) -> A(V2)
ISNELIST((V1, V2)) -> U51'(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
A(and(x0, x1)) -> AND(x0, x1)
A(i) -> I
A(e) -> E
A((x0, x1)) -> '(x0, x1)
A(o) -> O
A(isPalListKind(x0)) -> ISPALLISTKIND(x0)
A(nil) -> NIL
A(a) -> A
A(u) -> U
U21'(tt, V1, V2) -> U22'(isList(a(V1)), a(V2))
U21'(tt, V1, V2) -> ISLIST(a(V1))
U21'(tt, V1, V2) -> A(V1)
U21'(tt, V1, V2) -> A(V2)
U22'(tt, V2) -> U23'(isList(a(V2)))
U22'(tt, V2) -> ISLIST(a(V2))
U22'(tt, V2) -> A(V2)
ISLIST(V) -> U11'(isPalListKind(a(V)), a(V))
ISLIST(V) -> ISPALLISTKIND(a(V))
ISLIST(V) -> A(V)
ISLIST((V1, V2)) -> U21'(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
ISLIST((V1, V2)) -> AND(isPalListKind(a(V1)), isPalListKind(a(V2)))
ISLIST((V1, V2)) -> ISPALLISTKIND(a(V1))
ISLIST((V1, V2)) -> A(V1)
ISLIST((V1, V2)) -> A(V2)
U31'(tt, V) -> U32'(isQid(a(V)))
U31'(tt, V) -> ISQID(a(V))
U31'(tt, V) -> A(V)
U41'(tt, V1, V2) -> U42'(isList(a(V1)), a(V2))
U41'(tt, V1, V2) -> ISLIST(a(V1))
U41'(tt, V1, V2) -> A(V1)
U41'(tt, V1, V2) -> A(V2)
U42'(tt, V2) -> U43'(isNeList(a(V2)))
U42'(tt, V2) -> ISNELIST(a(V2))
U42'(tt, V2) -> A(V2)
U51'(tt, V1, V2) -> U52'(isNeList(a(V1)), a(V2))
U51'(tt, V1, V2) -> ISNELIST(a(V1))
U51'(tt, V1, V2) -> A(V1)
U51'(tt, V1, V2) -> A(V2)
U52'(tt, V2) -> U53'(isList(a(V2)))
U52'(tt, V2) -> ISLIST(a(V2))
U52'(tt, V2) -> A(V2)
U61'(tt, V) -> U62'(isQid(a(V)))
U61'(tt, V) -> ISQID(a(V))
U61'(tt, V) -> A(V)
U71'(tt, V) -> U72'(isNePal(a(V)))
U71'(tt, V) -> ISNEPAL(a(V))
U71'(tt, V) -> A(V)
ISNEPAL(V) -> U61'(isPalListKind(a(V)), a(V))
ISNEPAL(V) -> ISPALLISTKIND(a(V))
ISNEPAL(V) -> A(V)
ISNEPAL((I, (P, I))) -> AND(and(isQid(a(I)), isPalListKind(a(I))), and(isPal(a(P)), isPalListKind(a(P))))
ISNEPAL((I, (P, I))) -> AND(isQid(a(I)), isPalListKind(a(I)))
ISNEPAL((I, (P, I))) -> ISQID(a(I))
ISNEPAL((I, (P, I))) -> A(I)
ISNEPAL((I, (P, I))) -> ISPAL(a(P))
ISNEPAL((I, (P, I))) -> A(P)
AND(tt, X) -> A(X)
ISPALLISTKIND((V1, V2)) -> AND(isPalListKind(a(V1)), isPalListKind(a(V2)))
ISPALLISTKIND((V1, V2)) -> ISPALLISTKIND(a(V1))
ISPALLISTKIND((V1, V2)) -> A(V1)
ISPALLISTKIND((V1, V2)) -> A(V2)
ISPAL(V) -> U71'(isPalListKind(a(V)), a(V))
ISPAL(V) -> ISPALLISTKIND(a(V))
ISPAL(V) -> A(V)
TRS
↳CSRtoTRS
→TRS1
↳DPs
→DP Problem 1
↳Size-Change Principle
→DP Problem 2
↳Neg POLO
→DP Problem 3
↳Neg POLO
→DP Problem 4
↳Neg POLO
'((X, Y), Z) -> '(Y, Z)
'((X, Y), Z) -> '(X, (Y, Z))
((X, Y), Z) -> (X, (Y, Z))
(X, nil) -> X
(nil, X) -> X
(x0, x1) -> (x0, x1)
nil -> nil
U11(tt, V) -> U12(isNeList(a(V)))
U12(tt) -> tt
isNeList(V) -> U31(isPalListKind(a(V)), a(V))
isNeList((V1, V2)) -> U41(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
isNeList((V1, V2)) -> U51(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
a(and(x0, x1)) -> and(x0, x1)
a(i) -> i
a(e) -> e
a((x0, x1)) -> (x0, x1)
a(o) -> o
a(isPalListKind(x0)) -> isPalListKind(x0)
a(nil) -> nil
a(a) -> a
a(u) -> u
U21(tt, V1, V2) -> U22(isList(a(V1)), a(V2))
U22(tt, V2) -> U23(isList(a(V2)))
isList(V) -> U11(isPalListKind(a(V)), a(V))
isList(nil) -> tt
isList((V1, V2)) -> U21(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
U23(tt) -> tt
U31(tt, V) -> U32(isQid(a(V)))
U32(tt) -> tt
isQid(a) -> tt
isQid(e) -> tt
isQid(i) -> tt
isQid(o) -> tt
isQid(u) -> tt
U41(tt, V1, V2) -> U42(isList(a(V1)), a(V2))
U42(tt, V2) -> U43(isNeList(a(V2)))
U43(tt) -> tt
U51(tt, V1, V2) -> U52(isNeList(a(V1)), a(V2))
U52(tt, V2) -> U53(isList(a(V2)))
U53(tt) -> tt
U61(tt, V) -> U62(isQid(a(V)))
U62(tt) -> tt
U71(tt, V) -> U72(isNePal(a(V)))
U72(tt) -> tt
isNePal(V) -> U61(isPalListKind(a(V)), a(V))
isNePal((I, (P, I))) -> and(and(isQid(a(I)), isPalListKind(a(I))), and(isPal(a(P)), isPalListKind(a(P))))
and(tt, X) -> a(X)
and(x0, x1) -> and(x0, x1)
isPalListKind(a) -> tt
isPalListKind(e) -> tt
isPalListKind(i) -> tt
isPalListKind(nil) -> tt
isPalListKind(o) -> tt
isPalListKind(u) -> tt
isPalListKind((V1, V2)) -> and(isPalListKind(a(V1)), isPalListKind(a(V2)))
isPalListKind(x0) -> isPalListKind(x0)
isPal(V) -> U71(isPalListKind(a(V)), a(V))
isPal(nil) -> tt
i -> i
e -> e
o -> o
a -> a
u -> u
|
|
|
|
trivial
TRS
↳CSRtoTRS
→TRS1
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳Negative Polynomial Order
→DP Problem 3
↳Neg POLO
→DP Problem 4
↳Neg POLO
ISPALLISTKIND((V1, V2)) -> A(V2)
ISPALLISTKIND((V1, V2)) -> A(V1)
ISPALLISTKIND((V1, V2)) -> ISPALLISTKIND(a(V1))
ISPALLISTKIND((V1, V2)) -> AND(isPalListKind(a(V1)), isPalListKind(a(V2)))
A(isPalListKind(x0)) -> ISPALLISTKIND(x0)
AND(tt, X) -> A(X)
A(and(x0, x1)) -> AND(x0, x1)
((X, Y), Z) -> (X, (Y, Z))
(X, nil) -> X
(nil, X) -> X
(x0, x1) -> (x0, x1)
nil -> nil
U11(tt, V) -> U12(isNeList(a(V)))
U12(tt) -> tt
isNeList(V) -> U31(isPalListKind(a(V)), a(V))
isNeList((V1, V2)) -> U41(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
isNeList((V1, V2)) -> U51(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
a(and(x0, x1)) -> and(x0, x1)
a(i) -> i
a(e) -> e
a((x0, x1)) -> (x0, x1)
a(o) -> o
a(isPalListKind(x0)) -> isPalListKind(x0)
a(nil) -> nil
a(a) -> a
a(u) -> u
U21(tt, V1, V2) -> U22(isList(a(V1)), a(V2))
U22(tt, V2) -> U23(isList(a(V2)))
isList(V) -> U11(isPalListKind(a(V)), a(V))
isList(nil) -> tt
isList((V1, V2)) -> U21(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
U23(tt) -> tt
U31(tt, V) -> U32(isQid(a(V)))
U32(tt) -> tt
isQid(a) -> tt
isQid(e) -> tt
isQid(i) -> tt
isQid(o) -> tt
isQid(u) -> tt
U41(tt, V1, V2) -> U42(isList(a(V1)), a(V2))
U42(tt, V2) -> U43(isNeList(a(V2)))
U43(tt) -> tt
U51(tt, V1, V2) -> U52(isNeList(a(V1)), a(V2))
U52(tt, V2) -> U53(isList(a(V2)))
U53(tt) -> tt
U61(tt, V) -> U62(isQid(a(V)))
U62(tt) -> tt
U71(tt, V) -> U72(isNePal(a(V)))
U72(tt) -> tt
isNePal(V) -> U61(isPalListKind(a(V)), a(V))
isNePal((I, (P, I))) -> and(and(isQid(a(I)), isPalListKind(a(I))), and(isPal(a(P)), isPalListKind(a(P))))
and(tt, X) -> a(X)
and(x0, x1) -> and(x0, x1)
isPalListKind(a) -> tt
isPalListKind(e) -> tt
isPalListKind(i) -> tt
isPalListKind(nil) -> tt
isPalListKind(o) -> tt
isPalListKind(u) -> tt
isPalListKind((V1, V2)) -> and(isPalListKind(a(V1)), isPalListKind(a(V2)))
isPalListKind(x0) -> isPalListKind(x0)
isPal(V) -> U71(isPalListKind(a(V)), a(V))
isPal(nil) -> tt
i -> i
e -> e
o -> o
a -> a
u -> u
ISPALLISTKIND((V1, V2)) -> A(V2)
ISPALLISTKIND((V1, V2)) -> A(V1)
ISPALLISTKIND((V1, V2)) -> ISPALLISTKIND(a(V1))
ISPALLISTKIND((V1, V2)) -> AND(isPalListKind(a(V1)), isPalListKind(a(V2)))
a(and(x0, x1)) -> and(x0, x1)
a(i) -> i
a(e) -> e
a((x0, x1)) -> (x0, x1)
a(o) -> o
a(isPalListKind(x0)) -> isPalListKind(x0)
a(nil) -> nil
a(a) -> a
a(u) -> u
isPalListKind(a) -> tt
isPalListKind(e) -> tt
isPalListKind(i) -> tt
isPalListKind(nil) -> tt
isPalListKind(o) -> tt
isPalListKind(u) -> tt
isPalListKind((V1, V2)) -> and(isPalListKind(a(V1)), isPalListKind(a(V2)))
isPalListKind(x0) -> isPalListKind(x0)
and(tt, X) -> a(X)
and(x0, x1) -> and(x0, x1)
i -> i
e -> e
((X, Y), Z) -> (X, (Y, Z))
(X, nil) -> X
(nil, X) -> X
(x0, x1) -> (x0, x1)
o -> o
nil -> nil
a -> a
u -> u
POL( ISPALLISTKIND(x1) ) = x1
POL( (x1, x2) ) = x1 + x2 + 1
POL( A(x1) ) = x1
POL( a(x1) ) = x1
POL( isPalListKind(x1) ) = x1
POL( AND(x1, x2) ) = x2
POL( and(x1, x2) ) = x2
POL( and(x1, x2) ) = x2
POL( i ) = 0
POL( i ) = 0
POL( e ) = 0
POL( e ) = 0
POL( (x1, x2) ) = x1 + x2 + 1
POL( o ) = 0
POL( o ) = 0
POL( isPalListKind(x1) ) = x1
POL( nil ) = 0
POL( nil ) = 0
POL( a ) = 0
POL( a ) = 0
POL( u ) = 0
POL( u ) = 0
POL( tt ) = 0
TRS
↳CSRtoTRS
→TRS1
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳Neg POLO
...
→DP Problem 5
↳Dependency Graph
→DP Problem 3
↳Neg POLO
→DP Problem 4
↳Neg POLO
A(isPalListKind(x0)) -> ISPALLISTKIND(x0)
AND(tt, X) -> A(X)
A(and(x0, x1)) -> AND(x0, x1)
((X, Y), Z) -> (X, (Y, Z))
(X, nil) -> X
(nil, X) -> X
(x0, x1) -> (x0, x1)
nil -> nil
U11(tt, V) -> U12(isNeList(a(V)))
U12(tt) -> tt
isNeList(V) -> U31(isPalListKind(a(V)), a(V))
isNeList((V1, V2)) -> U41(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
isNeList((V1, V2)) -> U51(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
a(and(x0, x1)) -> and(x0, x1)
a(i) -> i
a(e) -> e
a((x0, x1)) -> (x0, x1)
a(o) -> o
a(isPalListKind(x0)) -> isPalListKind(x0)
a(nil) -> nil
a(a) -> a
a(u) -> u
U21(tt, V1, V2) -> U22(isList(a(V1)), a(V2))
U22(tt, V2) -> U23(isList(a(V2)))
isList(V) -> U11(isPalListKind(a(V)), a(V))
isList(nil) -> tt
isList((V1, V2)) -> U21(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
U23(tt) -> tt
U31(tt, V) -> U32(isQid(a(V)))
U32(tt) -> tt
isQid(a) -> tt
isQid(e) -> tt
isQid(i) -> tt
isQid(o) -> tt
isQid(u) -> tt
U41(tt, V1, V2) -> U42(isList(a(V1)), a(V2))
U42(tt, V2) -> U43(isNeList(a(V2)))
U43(tt) -> tt
U51(tt, V1, V2) -> U52(isNeList(a(V1)), a(V2))
U52(tt, V2) -> U53(isList(a(V2)))
U53(tt) -> tt
U61(tt, V) -> U62(isQid(a(V)))
U62(tt) -> tt
U71(tt, V) -> U72(isNePal(a(V)))
U72(tt) -> tt
isNePal(V) -> U61(isPalListKind(a(V)), a(V))
isNePal((I, (P, I))) -> and(and(isQid(a(I)), isPalListKind(a(I))), and(isPal(a(P)), isPalListKind(a(P))))
and(tt, X) -> a(X)
and(x0, x1) -> and(x0, x1)
isPalListKind(a) -> tt
isPalListKind(e) -> tt
isPalListKind(i) -> tt
isPalListKind(nil) -> tt
isPalListKind(o) -> tt
isPalListKind(u) -> tt
isPalListKind((V1, V2)) -> and(isPalListKind(a(V1)), isPalListKind(a(V2)))
isPalListKind(x0) -> isPalListKind(x0)
isPal(V) -> U71(isPalListKind(a(V)), a(V))
isPal(nil) -> tt
i -> i
e -> e
o -> o
a -> a
u -> u
TRS
↳CSRtoTRS
→TRS1
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳Neg POLO
...
→DP Problem 6
↳Size-Change Principle
→DP Problem 3
↳Neg POLO
→DP Problem 4
↳Neg POLO
A(and(x0, x1)) -> AND(x0, x1)
AND(tt, X) -> A(X)
((X, Y), Z) -> (X, (Y, Z))
(X, nil) -> X
(nil, X) -> X
(x0, x1) -> (x0, x1)
nil -> nil
U11(tt, V) -> U12(isNeList(a(V)))
U12(tt) -> tt
isNeList(V) -> U31(isPalListKind(a(V)), a(V))
isNeList((V1, V2)) -> U41(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
isNeList((V1, V2)) -> U51(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
a(and(x0, x1)) -> and(x0, x1)
a(i) -> i
a(e) -> e
a((x0, x1)) -> (x0, x1)
a(o) -> o
a(isPalListKind(x0)) -> isPalListKind(x0)
a(nil) -> nil
a(a) -> a
a(u) -> u
U21(tt, V1, V2) -> U22(isList(a(V1)), a(V2))
U22(tt, V2) -> U23(isList(a(V2)))
isList(V) -> U11(isPalListKind(a(V)), a(V))
isList(nil) -> tt
isList((V1, V2)) -> U21(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
U23(tt) -> tt
U31(tt, V) -> U32(isQid(a(V)))
U32(tt) -> tt
isQid(a) -> tt
isQid(e) -> tt
isQid(i) -> tt
isQid(o) -> tt
isQid(u) -> tt
U41(tt, V1, V2) -> U42(isList(a(V1)), a(V2))
U42(tt, V2) -> U43(isNeList(a(V2)))
U43(tt) -> tt
U51(tt, V1, V2) -> U52(isNeList(a(V1)), a(V2))
U52(tt, V2) -> U53(isList(a(V2)))
U53(tt) -> tt
U61(tt, V) -> U62(isQid(a(V)))
U62(tt) -> tt
U71(tt, V) -> U72(isNePal(a(V)))
U72(tt) -> tt
isNePal(V) -> U61(isPalListKind(a(V)), a(V))
isNePal((I, (P, I))) -> and(and(isQid(a(I)), isPalListKind(a(I))), and(isPal(a(P)), isPalListKind(a(P))))
and(tt, X) -> a(X)
and(x0, x1) -> and(x0, x1)
isPalListKind(a) -> tt
isPalListKind(e) -> tt
isPalListKind(i) -> tt
isPalListKind(nil) -> tt
isPalListKind(o) -> tt
isPalListKind(u) -> tt
isPalListKind((V1, V2)) -> and(isPalListKind(a(V1)), isPalListKind(a(V2)))
isPalListKind(x0) -> isPalListKind(x0)
isPal(V) -> U71(isPalListKind(a(V)), a(V))
isPal(nil) -> tt
i -> i
e -> e
o -> o
a -> a
u -> u
|
|
|
|
trivial
and(x1, x2) -> and(x1, x2)
TRS
↳CSRtoTRS
→TRS1
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳Neg POLO
→DP Problem 3
↳Negative Polynomial Order
→DP Problem 4
↳Neg POLO
U41'(tt, V1, V2) -> ISLIST(a(V1))
U51'(tt, V1, V2) -> ISNELIST(a(V1))
U21'(tt, V1, V2) -> ISLIST(a(V1))
U22'(tt, V2) -> ISLIST(a(V2))
U21'(tt, V1, V2) -> U22'(isList(a(V1)), a(V2))
ISLIST((V1, V2)) -> U21'(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
ISLIST(V) -> U11'(isPalListKind(a(V)), a(V))
U52'(tt, V2) -> ISLIST(a(V2))
U51'(tt, V1, V2) -> U52'(isNeList(a(V1)), a(V2))
ISNELIST((V1, V2)) -> U51'(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
U42'(tt, V2) -> ISNELIST(a(V2))
U41'(tt, V1, V2) -> U42'(isList(a(V1)), a(V2))
ISNELIST((V1, V2)) -> U41'(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
U11'(tt, V) -> ISNELIST(a(V))
((X, Y), Z) -> (X, (Y, Z))
(X, nil) -> X
(nil, X) -> X
(x0, x1) -> (x0, x1)
nil -> nil
U11(tt, V) -> U12(isNeList(a(V)))
U12(tt) -> tt
isNeList(V) -> U31(isPalListKind(a(V)), a(V))
isNeList((V1, V2)) -> U41(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
isNeList((V1, V2)) -> U51(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
a(and(x0, x1)) -> and(x0, x1)
a(i) -> i
a(e) -> e
a((x0, x1)) -> (x0, x1)
a(o) -> o
a(isPalListKind(x0)) -> isPalListKind(x0)
a(nil) -> nil
a(a) -> a
a(u) -> u
U21(tt, V1, V2) -> U22(isList(a(V1)), a(V2))
U22(tt, V2) -> U23(isList(a(V2)))
isList(V) -> U11(isPalListKind(a(V)), a(V))
isList(nil) -> tt
isList((V1, V2)) -> U21(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
U23(tt) -> tt
U31(tt, V) -> U32(isQid(a(V)))
U32(tt) -> tt
isQid(a) -> tt
isQid(e) -> tt
isQid(i) -> tt
isQid(o) -> tt
isQid(u) -> tt
U41(tt, V1, V2) -> U42(isList(a(V1)), a(V2))
U42(tt, V2) -> U43(isNeList(a(V2)))
U43(tt) -> tt
U51(tt, V1, V2) -> U52(isNeList(a(V1)), a(V2))
U52(tt, V2) -> U53(isList(a(V2)))
U53(tt) -> tt
U61(tt, V) -> U62(isQid(a(V)))
U62(tt) -> tt
U71(tt, V) -> U72(isNePal(a(V)))
U72(tt) -> tt
isNePal(V) -> U61(isPalListKind(a(V)), a(V))
isNePal((I, (P, I))) -> and(and(isQid(a(I)), isPalListKind(a(I))), and(isPal(a(P)), isPalListKind(a(P))))
and(tt, X) -> a(X)
and(x0, x1) -> and(x0, x1)
isPalListKind(a) -> tt
isPalListKind(e) -> tt
isPalListKind(i) -> tt
isPalListKind(nil) -> tt
isPalListKind(o) -> tt
isPalListKind(u) -> tt
isPalListKind((V1, V2)) -> and(isPalListKind(a(V1)), isPalListKind(a(V2)))
isPalListKind(x0) -> isPalListKind(x0)
isPal(V) -> U71(isPalListKind(a(V)), a(V))
isPal(nil) -> tt
i -> i
e -> e
o -> o
a -> a
u -> u
U41'(tt, V1, V2) -> ISLIST(a(V1))
ISLIST((V1, V2)) -> U21'(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
ISNELIST((V1, V2)) -> U51'(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
U41'(tt, V1, V2) -> U42'(isList(a(V1)), a(V2))
a(and(x0, x1)) -> and(x0, x1)
a(i) -> i
a(e) -> e
a((x0, x1)) -> (x0, x1)
a(o) -> o
a(isPalListKind(x0)) -> isPalListKind(x0)
a(nil) -> nil
a(a) -> a
a(u) -> u
isList(V) -> U11(isPalListKind(a(V)), a(V))
isList(nil) -> tt
isList((V1, V2)) -> U21(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
and(tt, X) -> a(X)
and(x0, x1) -> and(x0, x1)
isPalListKind(a) -> tt
isPalListKind(e) -> tt
isPalListKind(i) -> tt
isPalListKind(nil) -> tt
isPalListKind(o) -> tt
isPalListKind(u) -> tt
isPalListKind((V1, V2)) -> and(isPalListKind(a(V1)), isPalListKind(a(V2)))
isPalListKind(x0) -> isPalListKind(x0)
isNeList(V) -> U31(isPalListKind(a(V)), a(V))
isNeList((V1, V2)) -> U41(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
isNeList((V1, V2)) -> U51(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
i -> i
e -> e
((X, Y), Z) -> (X, (Y, Z))
(X, nil) -> X
(nil, X) -> X
(x0, x1) -> (x0, x1)
o -> o
nil -> nil
a -> a
u -> u
U11(tt, V) -> U12(isNeList(a(V)))
U21(tt, V1, V2) -> U22(isList(a(V1)), a(V2))
U31(tt, V) -> U32(isQid(a(V)))
U41(tt, V1, V2) -> U42(isList(a(V1)), a(V2))
U51(tt, V1, V2) -> U52(isNeList(a(V1)), a(V2))
U12(tt) -> tt
U22(tt, V2) -> U23(isList(a(V2)))
U32(tt) -> tt
U42(tt, V2) -> U43(isNeList(a(V2)))
U52(tt, V2) -> U53(isList(a(V2)))
U23(tt) -> tt
isQid(a) -> tt
isQid(e) -> tt
isQid(i) -> tt
isQid(o) -> tt
isQid(u) -> tt
U43(tt) -> tt
U53(tt) -> tt
POL( U41'(x1, ..., x3) ) = x2 + x3 + 1
POL( ISLIST(x1) ) = x1
POL( a(x1) ) = x1
POL( U21'(x1, ..., x3) ) = x2 + x3
POL( U11'(x1, x2) ) = x2
POL( ISNELIST(x1) ) = x1
POL( U51'(x1, ..., x3) ) = x2 + x3
POL( U52'(x1, x2) ) = x2
POL( U42'(x1, x2) ) = x2
POL( (x1, x2) ) = x1 + x2 + 1
POL( U22'(x1, x2) ) = x2
POL( and(x1, x2) ) = x2
POL( and(x1, x2) ) = x2
POL( i ) = 0
POL( i ) = 0
POL( e ) = 0
POL( e ) = 0
POL( (x1, x2) ) = x1 + x2 + 1
POL( o ) = 0
POL( o ) = 0
POL( isPalListKind(x1) ) = 0
POL( isPalListKind(x1) ) = 0
POL( nil ) = 0
POL( nil ) = 0
POL( a ) = 0
POL( a ) = 0
POL( u ) = 0
POL( u ) = 0
POL( isList(x1) ) = 0
POL( U11(x1, x2) ) = 0
POL( tt ) = 0
POL( U21(x1, ..., x3) ) = 0
POL( isNeList(x1) ) = 0
POL( U31(x1, x2) ) = 0
POL( U41(x1, ..., x3) ) = 0
POL( U51(x1, ..., x3) ) = 0
POL( U12(x1) ) = 0
POL( U22(x1, x2) ) = 0
POL( U32(x1) ) = 0
POL( U42(x1, x2) ) = 0
POL( U52(x1, x2) ) = 0
POL( U23(x1) ) = 0
POL( U43(x1) ) = 0
POL( U53(x1) ) = 0
TRS
↳CSRtoTRS
→TRS1
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳Neg POLO
→DP Problem 3
↳Neg POLO
...
→DP Problem 7
↳Dependency Graph
→DP Problem 4
↳Neg POLO
U51'(tt, V1, V2) -> ISNELIST(a(V1))
U21'(tt, V1, V2) -> ISLIST(a(V1))
U22'(tt, V2) -> ISLIST(a(V2))
U21'(tt, V1, V2) -> U22'(isList(a(V1)), a(V2))
ISLIST(V) -> U11'(isPalListKind(a(V)), a(V))
U52'(tt, V2) -> ISLIST(a(V2))
U51'(tt, V1, V2) -> U52'(isNeList(a(V1)), a(V2))
U42'(tt, V2) -> ISNELIST(a(V2))
ISNELIST((V1, V2)) -> U41'(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
U11'(tt, V) -> ISNELIST(a(V))
((X, Y), Z) -> (X, (Y, Z))
(X, nil) -> X
(nil, X) -> X
(x0, x1) -> (x0, x1)
nil -> nil
U11(tt, V) -> U12(isNeList(a(V)))
U12(tt) -> tt
isNeList(V) -> U31(isPalListKind(a(V)), a(V))
isNeList((V1, V2)) -> U41(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
isNeList((V1, V2)) -> U51(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
a(and(x0, x1)) -> and(x0, x1)
a(i) -> i
a(e) -> e
a((x0, x1)) -> (x0, x1)
a(o) -> o
a(isPalListKind(x0)) -> isPalListKind(x0)
a(nil) -> nil
a(a) -> a
a(u) -> u
U21(tt, V1, V2) -> U22(isList(a(V1)), a(V2))
U22(tt, V2) -> U23(isList(a(V2)))
isList(V) -> U11(isPalListKind(a(V)), a(V))
isList(nil) -> tt
isList((V1, V2)) -> U21(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
U23(tt) -> tt
U31(tt, V) -> U32(isQid(a(V)))
U32(tt) -> tt
isQid(a) -> tt
isQid(e) -> tt
isQid(i) -> tt
isQid(o) -> tt
isQid(u) -> tt
U41(tt, V1, V2) -> U42(isList(a(V1)), a(V2))
U42(tt, V2) -> U43(isNeList(a(V2)))
U43(tt) -> tt
U51(tt, V1, V2) -> U52(isNeList(a(V1)), a(V2))
U52(tt, V2) -> U53(isList(a(V2)))
U53(tt) -> tt
U61(tt, V) -> U62(isQid(a(V)))
U62(tt) -> tt
U71(tt, V) -> U72(isNePal(a(V)))
U72(tt) -> tt
isNePal(V) -> U61(isPalListKind(a(V)), a(V))
isNePal((I, (P, I))) -> and(and(isQid(a(I)), isPalListKind(a(I))), and(isPal(a(P)), isPalListKind(a(P))))
and(tt, X) -> a(X)
and(x0, x1) -> and(x0, x1)
isPalListKind(a) -> tt
isPalListKind(e) -> tt
isPalListKind(i) -> tt
isPalListKind(nil) -> tt
isPalListKind(o) -> tt
isPalListKind(u) -> tt
isPalListKind((V1, V2)) -> and(isPalListKind(a(V1)), isPalListKind(a(V2)))
isPalListKind(x0) -> isPalListKind(x0)
isPal(V) -> U71(isPalListKind(a(V)), a(V))
isPal(nil) -> tt
i -> i
e -> e
o -> o
a -> a
u -> u
TRS
↳CSRtoTRS
→TRS1
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳Neg POLO
→DP Problem 3
↳Neg POLO
→DP Problem 4
↳Negative Polynomial Order
ISPAL(V) -> U71'(isPalListKind(a(V)), a(V))
ISNEPAL((I, (P, I))) -> ISPAL(a(P))
U71'(tt, V) -> ISNEPAL(a(V))
((X, Y), Z) -> (X, (Y, Z))
(X, nil) -> X
(nil, X) -> X
(x0, x1) -> (x0, x1)
nil -> nil
U11(tt, V) -> U12(isNeList(a(V)))
U12(tt) -> tt
isNeList(V) -> U31(isPalListKind(a(V)), a(V))
isNeList((V1, V2)) -> U41(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
isNeList((V1, V2)) -> U51(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
a(and(x0, x1)) -> and(x0, x1)
a(i) -> i
a(e) -> e
a((x0, x1)) -> (x0, x1)
a(o) -> o
a(isPalListKind(x0)) -> isPalListKind(x0)
a(nil) -> nil
a(a) -> a
a(u) -> u
U21(tt, V1, V2) -> U22(isList(a(V1)), a(V2))
U22(tt, V2) -> U23(isList(a(V2)))
isList(V) -> U11(isPalListKind(a(V)), a(V))
isList(nil) -> tt
isList((V1, V2)) -> U21(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
U23(tt) -> tt
U31(tt, V) -> U32(isQid(a(V)))
U32(tt) -> tt
isQid(a) -> tt
isQid(e) -> tt
isQid(i) -> tt
isQid(o) -> tt
isQid(u) -> tt
U41(tt, V1, V2) -> U42(isList(a(V1)), a(V2))
U42(tt, V2) -> U43(isNeList(a(V2)))
U43(tt) -> tt
U51(tt, V1, V2) -> U52(isNeList(a(V1)), a(V2))
U52(tt, V2) -> U53(isList(a(V2)))
U53(tt) -> tt
U61(tt, V) -> U62(isQid(a(V)))
U62(tt) -> tt
U71(tt, V) -> U72(isNePal(a(V)))
U72(tt) -> tt
isNePal(V) -> U61(isPalListKind(a(V)), a(V))
isNePal((I, (P, I))) -> and(and(isQid(a(I)), isPalListKind(a(I))), and(isPal(a(P)), isPalListKind(a(P))))
and(tt, X) -> a(X)
and(x0, x1) -> and(x0, x1)
isPalListKind(a) -> tt
isPalListKind(e) -> tt
isPalListKind(i) -> tt
isPalListKind(nil) -> tt
isPalListKind(o) -> tt
isPalListKind(u) -> tt
isPalListKind((V1, V2)) -> and(isPalListKind(a(V1)), isPalListKind(a(V2)))
isPalListKind(x0) -> isPalListKind(x0)
isPal(V) -> U71(isPalListKind(a(V)), a(V))
isPal(nil) -> tt
i -> i
e -> e
o -> o
a -> a
u -> u
ISPAL(V) -> U71'(isPalListKind(a(V)), a(V))
ISNEPAL((I, (P, I))) -> ISPAL(a(P))
isPalListKind(a) -> tt
isPalListKind(e) -> tt
isPalListKind(i) -> tt
isPalListKind(nil) -> tt
isPalListKind(o) -> tt
isPalListKind(u) -> tt
isPalListKind((V1, V2)) -> and(isPalListKind(a(V1)), isPalListKind(a(V2)))
isPalListKind(x0) -> isPalListKind(x0)
a(and(x0, x1)) -> and(x0, x1)
a(i) -> i
a(e) -> e
a((x0, x1)) -> (x0, x1)
a(o) -> o
a(isPalListKind(x0)) -> isPalListKind(x0)
a(nil) -> nil
a(a) -> a
a(u) -> u
and(tt, X) -> a(X)
and(x0, x1) -> and(x0, x1)
i -> i
e -> e
((X, Y), Z) -> (X, (Y, Z))
(X, nil) -> X
(nil, X) -> X
(x0, x1) -> (x0, x1)
o -> o
nil -> nil
a -> a
u -> u
POL( ISPAL(x1) ) = x1 + 1
POL( U71'(x1, x2) ) = x2
POL( a(x1) ) = x1
POL( ISNEPAL(x1) ) = x1
POL( (x1, x2) ) = x1 + x2 + 1
POL( (x1, x2) ) = x1 + x2 + 1
POL( isPalListKind(x1) ) = 0
POL( tt ) = 0
POL( and(x1, x2) ) = x2
POL( isPalListKind(x1) ) = 0
POL( and(x1, x2) ) = x2
POL( i ) = 0
POL( i ) = 0
POL( e ) = 0
POL( e ) = 0
POL( o ) = 0
POL( o ) = 0
POL( nil ) = 0
POL( nil ) = 0
POL( a ) = 0
POL( a ) = 0
POL( u ) = 0
POL( u ) = 0
TRS
↳CSRtoTRS
→TRS1
↳DPs
→DP Problem 1
↳SCP
→DP Problem 2
↳Neg POLO
→DP Problem 3
↳Neg POLO
→DP Problem 4
↳Neg POLO
...
→DP Problem 8
↳Dependency Graph
U71'(tt, V) -> ISNEPAL(a(V))
((X, Y), Z) -> (X, (Y, Z))
(X, nil) -> X
(nil, X) -> X
(x0, x1) -> (x0, x1)
nil -> nil
U11(tt, V) -> U12(isNeList(a(V)))
U12(tt) -> tt
isNeList(V) -> U31(isPalListKind(a(V)), a(V))
isNeList((V1, V2)) -> U41(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
isNeList((V1, V2)) -> U51(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
a(and(x0, x1)) -> and(x0, x1)
a(i) -> i
a(e) -> e
a((x0, x1)) -> (x0, x1)
a(o) -> o
a(isPalListKind(x0)) -> isPalListKind(x0)
a(nil) -> nil
a(a) -> a
a(u) -> u
U21(tt, V1, V2) -> U22(isList(a(V1)), a(V2))
U22(tt, V2) -> U23(isList(a(V2)))
isList(V) -> U11(isPalListKind(a(V)), a(V))
isList(nil) -> tt
isList((V1, V2)) -> U21(and(isPalListKind(a(V1)), isPalListKind(a(V2))), a(V1), a(V2))
U23(tt) -> tt
U31(tt, V) -> U32(isQid(a(V)))
U32(tt) -> tt
isQid(a) -> tt
isQid(e) -> tt
isQid(i) -> tt
isQid(o) -> tt
isQid(u) -> tt
U41(tt, V1, V2) -> U42(isList(a(V1)), a(V2))
U42(tt, V2) -> U43(isNeList(a(V2)))
U43(tt) -> tt
U51(tt, V1, V2) -> U52(isNeList(a(V1)), a(V2))
U52(tt, V2) -> U53(isList(a(V2)))
U53(tt) -> tt
U61(tt, V) -> U62(isQid(a(V)))
U62(tt) -> tt
U71(tt, V) -> U72(isNePal(a(V)))
U72(tt) -> tt
isNePal(V) -> U61(isPalListKind(a(V)), a(V))
isNePal((I, (P, I))) -> and(and(isQid(a(I)), isPalListKind(a(I))), and(isPal(a(P)), isPalListKind(a(P))))
and(tt, X) -> a(X)
and(x0, x1) -> and(x0, x1)
isPalListKind(a) -> tt
isPalListKind(e) -> tt
isPalListKind(i) -> tt
isPalListKind(nil) -> tt
isPalListKind(o) -> tt
isPalListKind(u) -> tt
isPalListKind((V1, V2)) -> and(isPalListKind(a(V1)), isPalListKind(a(V2)))
isPalListKind(x0) -> isPalListKind(x0)
isPal(V) -> U71(isPalListKind(a(V)), a(V))
isPal(nil) -> tt
i -> i
e -> e
o -> o
a -> a
u -> u