MAYBE Time: 15.339763 TRS: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} DP: DP: { __#(X1, mark X2) -> __#(X1, X2), __#(mark X1, X2) -> __#(X1, X2), __#(ok X1, ok X2) -> __#(X1, X2), active# __(X1, X2) -> __#(X1, active X2), active# __(X1, X2) -> __#(active X1, X2), active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# __(__(X, Y), Z) -> __#(X, __(Y, Z)), active# __(__(X, Y), Z) -> __#(Y, Z), active# U12 X -> active# X, active# U12 X -> U12# active X, active# isNeList V -> U31#(isPalListKind V, V), active# isNeList V -> isPalListKind# V, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2), active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2), active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2), active# isNeList __(V1, V2) -> isPalListKind# V1, active# isNeList __(V1, V2) -> isPalListKind# V2, active# U11(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2), active# U11(tt(), V) -> U12# isNeList V, active# U11(tt(), V) -> isNeList# V, active# U22(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2), active# U22(tt(), V2) -> isList# V2, active# U22(tt(), V2) -> U23# isList V2, active# isList V -> U11#(isPalListKind V, V), active# isList V -> isPalListKind# V, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2), active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2), active# isList __(V1, V2) -> isPalListKind# V1, active# isList __(V1, V2) -> isPalListKind# V2, active# U21(X1, X2, X3) -> active# X1, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3), active# U21(tt(), V1, V2) -> U22#(isList V1, V2), active# U21(tt(), V1, V2) -> isList# V1, active# U23 X -> active# X, active# U23 X -> U23# active X, active# U32 X -> active# X, active# U32 X -> U32# active X, active# U31(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2), active# U31(tt(), V) -> U32# isQid V, active# U31(tt(), V) -> isQid# V, active# U42(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2), active# U42(tt(), V2) -> isNeList# V2, active# U42(tt(), V2) -> U43# isNeList V2, active# U41(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3), active# U41(tt(), V1, V2) -> isList# V1, active# U41(tt(), V1, V2) -> U42#(isList V1, V2), active# U43 X -> active# X, active# U43 X -> U43# active X, active# U52(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2), active# U52(tt(), V2) -> isList# V2, active# U52(tt(), V2) -> U53# isList V2, active# U51(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3), active# U51(tt(), V1, V2) -> isNeList# V1, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2), active# U53 X -> active# X, active# U53 X -> U53# active X, active# U62 X -> active# X, active# U62 X -> U62# active X, active# U61(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2), active# U61(tt(), V) -> isQid# V, active# U61(tt(), V) -> U62# isQid V, active# U72 X -> active# X, active# U72 X -> U72# active X, active# isNePal V -> U61#(isPalListKind V, V), active# isNePal V -> isPalListKind# V, active# isNePal __(I, __(P, I)) -> isQid# I, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I), active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P), active# isNePal __(I, __(P, I)) -> isPalListKind# I, active# isNePal __(I, __(P, I)) -> isPalListKind# P, active# isNePal __(I, __(P, I)) -> isPal# P, active# U71(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2), active# U71(tt(), V) -> U72# isNePal V, active# U71(tt(), V) -> isNePal# V, active# and(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2), active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2), active# isPalListKind __(V1, V2) -> isPalListKind# V1, active# isPalListKind __(V1, V2) -> isPalListKind# V2, active# isPal V -> U71#(isPalListKind V, V), active# isPal V -> isPalListKind# V, U12# mark X -> U12# X, U12# ok X -> U12# X, isNeList# ok X -> isNeList# X, U11#(mark X1, X2) -> U11#(X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2), U22#(mark X1, X2) -> U22#(X1, X2), U22#(ok X1, ok X2) -> U22#(X1, X2), isList# ok X -> isList# X, U21#(mark X1, X2, X3) -> U21#(X1, X2, X3), U21#(ok X1, ok X2, ok X3) -> U21#(X1, X2, X3), U23# mark X -> U23# X, U23# ok X -> U23# X, U32# mark X -> U32# X, U32# ok X -> U32# X, isQid# ok X -> isQid# X, U31#(mark X1, X2) -> U31#(X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2), U42#(mark X1, X2) -> U42#(X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3), U43# mark X -> U43# X, U43# ok X -> U43# X, U52#(mark X1, X2) -> U52#(X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3), U53# mark X -> U53# X, U53# ok X -> U53# X, U62# mark X -> U62# X, U62# ok X -> U62# X, U61#(mark X1, X2) -> U61#(X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2), U72# mark X -> U72# X, U72# ok X -> U72# X, isNePal# ok X -> isNePal# X, U71#(mark X1, X2) -> U71#(X1, X2), U71#(ok X1, ok X2) -> U71#(X1, X2), and#(mark X1, X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2), isPalListKind# ok X -> isPalListKind# X, isPal# ok X -> isPal# X, proper# __(X1, X2) -> __#(proper X1, proper X2), proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X, proper# U12 X -> proper# X, proper# isNeList X -> isNeList# proper X, proper# isNeList X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2), proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2), proper# U22(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2, proper# isList X -> isList# proper X, proper# isList X -> proper# X, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3), proper# U21(X1, X2, X3) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X, proper# U23 X -> proper# X, proper# U32 X -> U32# proper X, proper# U32 X -> proper# X, proper# isQid X -> isQid# proper X, proper# isQid X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2), proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2), proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3), proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3, proper# U43 X -> U43# proper X, proper# U43 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2), proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3), proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3, proper# U53 X -> U53# proper X, proper# U53 X -> proper# X, proper# U62 X -> U62# proper X, proper# U62 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2), proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2, proper# U72 X -> U72# proper X, proper# U72 X -> proper# X, proper# isNePal X -> isNePal# proper X, proper# isNePal X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2), proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2), proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2, proper# isPalListKind X -> isPalListKind# proper X, proper# isPalListKind X -> proper# X, proper# isPal X -> isPal# proper X, proper# isPal X -> proper# X, top# mark X -> proper# X, top# mark X -> top# proper X, top# ok X -> active# X, top# ok X -> top# active X } TRS: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} UR: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u()} EDG: { (active# U22(tt(), V2) -> isList# V2, isList# ok X -> isList# X) (active# U42(tt(), V2) -> isNeList# V2, isNeList# ok X -> isNeList# X) (active# isPalListKind __(V1, V2) -> isPalListKind# V2, isPalListKind# ok X -> isPalListKind# X) (active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (proper# U21(X1, X2, X3) -> proper# X3, proper# isPal X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X3, proper# isPal X -> isPal# proper X) (proper# U21(X1, X2, X3) -> proper# X3, proper# isPalListKind X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X3, proper# isPalListKind X -> isPalListKind# proper X) (proper# U21(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X3, proper# isNePal X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X3, proper# isNePal X -> isNePal# proper X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U72 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U72 X -> U72# proper X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U53 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U53 X -> U53# proper X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X3, proper# U43 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U43 X -> U43# proper X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X3, proper# isQid X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X3, proper# isQid X -> isQid# proper X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U32 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U32 X -> U32# proper X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U21(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2, X3) -> proper# X3, proper# U21(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X3, proper# U21(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X3, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2, X3) -> proper# X3, proper# isList X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X3, proper# isList X -> isList# proper X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X3, proper# isNeList X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X3, proper# isNeList X -> isNeList# proper X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U12 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X3, proper# U12 X -> U12# proper X) (proper# U21(X1, X2, X3) -> proper# X3, proper# __(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X3, proper# __(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X3, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# isPal X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isPal X -> isPal# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isPalListKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isPalListKind X -> isPalListKind# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNePal X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNePal X -> isNePal# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U72 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U72 X -> U72# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U53 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U53 X -> U53# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U43 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U43 X -> U43# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# isQid X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isQid X -> isQid# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U32 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U32 X -> U32# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U21(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X3, proper# U21(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U21(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X3, proper# isList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isList X -> isList# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNeList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# isNeList X -> isNeList# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U12 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X3, proper# U12 X -> U12# proper X) (proper# U51(X1, X2, X3) -> proper# X3, proper# __(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X3, proper# __(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X3, proper# __(X1, X2) -> __#(proper X1, proper X2)) (active# isList __(V1, V2) -> isPalListKind# V1, isPalListKind# ok X -> isPalListKind# X) (active# U41(tt(), V1, V2) -> isList# V1, isList# ok X -> isList# X) (active# isPalListKind __(V1, V2) -> isPalListKind# V1, isPalListKind# ok X -> isPalListKind# X) (proper# __(X1, X2) -> proper# X2, proper# isPal X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# __(X1, X2) -> proper# X2, proper# isPalListKind X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# isPalListKind X -> isPalListKind# proper X) (proper# __(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X2, proper# isNePal X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# __(X1, X2) -> proper# X2, proper# U72 X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# U72 X -> U72# proper X) (proper# __(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X2, proper# U62 X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X) (proper# __(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# __(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# __(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# __(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# __(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# __(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# __(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X2, proper# isQid X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# __(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# __(X1, X2) -> proper# X2, proper# U23 X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X) (proper# __(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X3) (proper# __(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# __(X1, X2) -> proper# X2, proper# isList X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# isList X -> isList# proper X) (proper# __(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X2, proper# isNeList X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# __(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# __(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X2, proper# isPal X -> proper# X) (proper# U22(X1, X2) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# U22(X1, X2) -> proper# X2, proper# isPalListKind X -> proper# X) (proper# U22(X1, X2) -> proper# X2, proper# isPalListKind X -> isPalListKind# proper X) (proper# U22(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X2, proper# isNePal X -> proper# X) (proper# U22(X1, X2) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# U22(X1, X2) -> proper# X2, proper# U72 X -> proper# X) (proper# U22(X1, X2) -> proper# X2, proper# U72 X -> U72# proper X) (proper# U22(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X2, proper# U62 X -> proper# X) (proper# U22(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X) (proper# U22(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U22(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U22(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U22(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U22(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U22(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U22(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U22(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U22(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U22(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U22(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U22(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U22(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X2, proper# isQid X -> proper# X) (proper# U22(X1, X2) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# U22(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U22(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U22(X1, X2) -> proper# X2, proper# U23 X -> proper# X) (proper# U22(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X) (proper# U22(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X3) (proper# U22(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X2) (proper# U22(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X1) (proper# U22(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U22(X1, X2) -> proper# X2, proper# isList X -> proper# X) (proper# U22(X1, X2) -> proper# X2, proper# isList X -> isList# proper X) (proper# U22(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X2, proper# isNeList X -> proper# X) (proper# U22(X1, X2) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# U22(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U22(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U22(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# isPal X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# U31(X1, X2) -> proper# X2, proper# isPalListKind X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isPalListKind X -> isPalListKind# proper X) (proper# U31(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# isNePal X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U72 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U72 X -> U72# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# U62 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# isQid X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U23 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X2, proper# isList X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isList X -> isList# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X2, proper# isNeList X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# U31(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U31(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U31(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isPal X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isPalListKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isPalListKind X -> isPalListKind# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNePal X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U72 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U72 X -> U72# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U53 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U43 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isQid X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U32 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isList X -> isList# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNeList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U12 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U41(X1, X2, X3) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isPal X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isPalListKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isPalListKind X -> isPalListKind# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNePal X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U72 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U72 X -> U72# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U53 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U43 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isQid X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U32 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isList X -> isList# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNeList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U12 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U51(X1, X2, X3) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X2, proper# isPal X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# U71(X1, X2) -> proper# X2, proper# isPalListKind X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# isPalListKind X -> isPalListKind# proper X) (proper# U71(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X2, proper# isNePal X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U72 X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# U72 X -> U72# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X2, proper# U62 X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X2, proper# isQid X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U23 X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2) -> proper# X2, proper# isList X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# isList X -> isList# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X2, proper# isNeList X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U71(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (active# isNeList V -> isPalListKind# V, isPalListKind# ok X -> isPalListKind# X) (active# isList V -> isPalListKind# V, isPalListKind# ok X -> isPalListKind# X) (active# U61(tt(), V) -> isQid# V, isQid# ok X -> isQid# X) (active# U71(tt(), V) -> isNePal# V, isNePal# ok X -> isNePal# X) (active# __(X1, X2) -> __#(active X1, X2), __#(ok X1, ok X2) -> __#(X1, X2)) (active# __(X1, X2) -> __#(active X1, X2), __#(mark X1, X2) -> __#(X1, X2)) (active# __(X1, X2) -> __#(active X1, X2), __#(X1, mark X2) -> __#(X1, X2)) (active# U22(X1, X2) -> U22#(active X1, X2), U22#(ok X1, ok X2) -> U22#(X1, X2)) (active# U22(X1, X2) -> U22#(active X1, X2), U22#(mark X1, X2) -> U22#(X1, X2)) (active# U42(X1, X2) -> U42#(active X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (active# U42(X1, X2) -> U42#(active X1, X2), U42#(mark X1, X2) -> U42#(X1, X2)) (active# U61(X1, X2) -> U61#(active X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2)) (active# U61(X1, X2) -> U61#(active X1, X2), U61#(mark X1, X2) -> U61#(X1, X2)) (active# and(X1, X2) -> and#(active X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# and(X1, X2) -> and#(active X1, X2), and#(mark X1, X2) -> and#(X1, X2)) (__#(mark X1, X2) -> __#(X1, X2), __#(ok X1, ok X2) -> __#(X1, X2)) (__#(mark X1, X2) -> __#(X1, X2), __#(mark X1, X2) -> __#(X1, X2)) (__#(mark X1, X2) -> __#(X1, X2), __#(X1, mark X2) -> __#(X1, X2)) (U11#(mark X1, X2) -> U11#(X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2)) (U11#(mark X1, X2) -> U11#(X1, X2), U11#(mark X1, X2) -> U11#(X1, X2)) (U22#(mark X1, X2) -> U22#(X1, X2), U22#(ok X1, ok X2) -> U22#(X1, X2)) (U22#(mark X1, X2) -> U22#(X1, X2), U22#(mark X1, X2) -> U22#(X1, X2)) (U31#(mark X1, X2) -> U31#(X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2)) (U31#(mark X1, X2) -> U31#(X1, X2), U31#(mark X1, X2) -> U31#(X1, X2)) (U42#(mark X1, X2) -> U42#(X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (U42#(mark X1, X2) -> U42#(X1, X2), U42#(mark X1, X2) -> U42#(X1, X2)) (U52#(mark X1, X2) -> U52#(X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (U52#(mark X1, X2) -> U52#(X1, X2), U52#(mark X1, X2) -> U52#(X1, X2)) (U61#(mark X1, X2) -> U61#(X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2)) (U61#(mark X1, X2) -> U61#(X1, X2), U61#(mark X1, X2) -> U61#(X1, X2)) (U71#(mark X1, X2) -> U71#(X1, X2), U71#(ok X1, ok X2) -> U71#(X1, X2)) (U71#(mark X1, X2) -> U71#(X1, X2), U71#(mark X1, X2) -> U71#(X1, X2)) (and#(mark X1, X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)) (and#(mark X1, X2) -> and#(X1, X2), and#(mark X1, X2) -> and#(X1, X2)) (active# __(X1, X2) -> active# X1, active# isPal V -> isPalListKind# V) (active# __(X1, X2) -> active# X1, active# isPal V -> U71#(isPalListKind V, V)) (active# __(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# __(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# __(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# __(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# __(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X1, active# U71(tt(), V) -> isNePal# V) (active# __(X1, X2) -> active# X1, active# U71(tt(), V) -> U72# isNePal V) (active# __(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2)) (active# __(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPal# P) (active# __(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# __(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# __(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# __(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# __(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# __(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# __(X1, X2) -> active# X1, active# isNePal V -> isPalListKind# V) (active# __(X1, X2) -> active# X1, active# isNePal V -> U61#(isPalListKind V, V)) (active# __(X1, X2) -> active# X1, active# U72 X -> U72# active X) (active# __(X1, X2) -> active# X1, active# U72 X -> active# X) (active# __(X1, X2) -> active# X1, active# U61(tt(), V) -> U62# isQid V) (active# __(X1, X2) -> active# X1, active# U61(tt(), V) -> isQid# V) (active# __(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# __(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X1, active# U62 X -> U62# active X) (active# __(X1, X2) -> active# X1, active# U62 X -> active# X) (active# __(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# __(X1, X2) -> active# X1, active# U53 X -> active# X) (active# __(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# __(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNeList# V1) (active# __(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# __(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# __(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isList V2) (active# __(X1, X2) -> active# X1, active# U52(tt(), V2) -> isList# V2) (active# __(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# __(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# __(X1, X2) -> active# X1, active# U43 X -> active# X) (active# __(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# __(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isList# V1) (active# __(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# __(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# __(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNeList V2) (active# __(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNeList# V2) (active# __(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# __(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X1, active# U31(tt(), V) -> isQid# V) (active# __(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isQid V) (active# __(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# __(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# __(X1, X2) -> active# X1, active# U32 X -> active# X) (active# __(X1, X2) -> active# X1, active# U23 X -> U23# active X) (active# __(X1, X2) -> active# X1, active# U23 X -> active# X) (active# __(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> isList# V1) (active# __(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# __(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# __(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> active# X1) (active# __(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V2) (active# __(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V1) (active# __(X1, X2) -> active# X1, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# __(X1, X2) -> active# X1, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# __(X1, X2) -> active# X1, active# isList V -> isPalListKind# V) (active# __(X1, X2) -> active# X1, active# isList V -> U11#(isPalListKind V, V)) (active# __(X1, X2) -> active# X1, active# U22(tt(), V2) -> U23# isList V2) (active# __(X1, X2) -> active# X1, active# U22(tt(), V2) -> isList# V2) (active# __(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2)) (active# __(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X1, active# U11(tt(), V) -> isNeList# V) (active# __(X1, X2) -> active# X1, active# U11(tt(), V) -> U12# isNeList V) (active# __(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# __(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# __(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# __(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# __(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# __(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# __(X1, X2) -> active# X1, active# isNeList V -> isPalListKind# V) (active# __(X1, X2) -> active# X1, active# isNeList V -> U31#(isPalListKind V, V)) (active# __(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# __(X1, X2) -> active# X1, active# U12 X -> active# X) (active# __(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# __(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2) (active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X1, active# __(X1, X2) -> __#(active X1, X2)) (active# __(X1, X2) -> active# X1, active# __(X1, X2) -> __#(X1, active X2)) (active# U22(X1, X2) -> active# X1, active# isPal V -> isPalListKind# V) (active# U22(X1, X2) -> active# X1, active# isPal V -> U71#(isPalListKind V, V)) (active# U22(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U22(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U22(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U22(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U22(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U22(X1, X2) -> active# X1, active# U71(tt(), V) -> isNePal# V) (active# U22(X1, X2) -> active# X1, active# U71(tt(), V) -> U72# isNePal V) (active# U22(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U22(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1) (active# U22(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U22(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U22(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U22(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U22(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U22(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U22(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U22(X1, X2) -> active# X1, active# isNePal V -> isPalListKind# V) (active# U22(X1, X2) -> active# X1, active# isNePal V -> U61#(isPalListKind V, V)) (active# U22(X1, X2) -> active# X1, active# U72 X -> U72# active X) (active# U22(X1, X2) -> active# X1, active# U72 X -> active# X) (active# U22(X1, X2) -> active# X1, active# U61(tt(), V) -> U62# isQid V) (active# U22(X1, X2) -> active# X1, active# U61(tt(), V) -> isQid# V) (active# U22(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U22(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U22(X1, X2) -> active# X1, active# U62 X -> U62# active X) (active# U22(X1, X2) -> active# X1, active# U62 X -> active# X) (active# U22(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U22(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U22(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U22(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U22(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U22(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U22(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isList V2) (active# U22(X1, X2) -> active# X1, active# U52(tt(), V2) -> isList# V2) (active# U22(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U22(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U22(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U22(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U22(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U22(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isList# V1) (active# U22(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U22(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U22(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNeList V2) (active# U22(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNeList# V2) (active# U22(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U22(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U22(X1, X2) -> active# X1, active# U31(tt(), V) -> isQid# V) (active# U22(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isQid V) (active# U22(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U22(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U22(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U22(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U22(X1, X2) -> active# X1, active# U23 X -> U23# active X) (active# U22(X1, X2) -> active# X1, active# U23 X -> active# X) (active# U22(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> isList# V1) (active# U22(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U22(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U22(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> active# X1) (active# U22(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V2) (active# U22(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V1) (active# U22(X1, X2) -> active# X1, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U22(X1, X2) -> active# X1, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U22(X1, X2) -> active# X1, active# isList V -> isPalListKind# V) (active# U22(X1, X2) -> active# X1, active# isList V -> U11#(isPalListKind V, V)) (active# U22(X1, X2) -> active# X1, active# U22(tt(), V2) -> U23# isList V2) (active# U22(X1, X2) -> active# X1, active# U22(tt(), V2) -> isList# V2) (active# U22(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U22(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1) (active# U22(X1, X2) -> active# X1, active# U11(tt(), V) -> isNeList# V) (active# U22(X1, X2) -> active# X1, active# U11(tt(), V) -> U12# isNeList V) (active# U22(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U22(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U22(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U22(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U22(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U22(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U22(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U22(X1, X2) -> active# X1, active# isNeList V -> isPalListKind# V) (active# U22(X1, X2) -> active# X1, active# isNeList V -> U31#(isPalListKind V, V)) (active# U22(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U22(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U22(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U22(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U22(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2) (active# U22(X1, X2) -> active# X1, active# __(X1, X2) -> active# X1) (active# U22(X1, X2) -> active# X1, active# __(X1, X2) -> __#(active X1, X2)) (active# U22(X1, X2) -> active# X1, active# __(X1, X2) -> __#(X1, active X2)) (active# U31(X1, X2) -> active# X1, active# isPal V -> isPalListKind# V) (active# U31(X1, X2) -> active# X1, active# isPal V -> U71#(isPalListKind V, V)) (active# U31(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U31(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U31(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U31(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U71(tt(), V) -> isNePal# V) (active# U31(X1, X2) -> active# X1, active# U71(tt(), V) -> U72# isNePal V) (active# U31(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U31(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U31(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U31(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U31(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U31(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U31(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U31(X1, X2) -> active# X1, active# isNePal V -> isPalListKind# V) (active# U31(X1, X2) -> active# X1, active# isNePal V -> U61#(isPalListKind V, V)) (active# U31(X1, X2) -> active# X1, active# U72 X -> U72# active X) (active# U31(X1, X2) -> active# X1, active# U72 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U61(tt(), V) -> U62# isQid V) (active# U31(X1, X2) -> active# X1, active# U61(tt(), V) -> isQid# V) (active# U31(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U62 X -> U62# active X) (active# U31(X1, X2) -> active# X1, active# U62 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U31(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U31(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U31(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U31(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isList V2) (active# U31(X1, X2) -> active# X1, active# U52(tt(), V2) -> isList# V2) (active# U31(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U31(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U31(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isList# V1) (active# U31(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U31(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNeList V2) (active# U31(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNeList# V2) (active# U31(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U31(tt(), V) -> isQid# V) (active# U31(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isQid V) (active# U31(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U31(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U23 X -> U23# active X) (active# U31(X1, X2) -> active# X1, active# U23 X -> active# X) (active# U31(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> isList# V1) (active# U31(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U31(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U31(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> active# X1) (active# U31(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V2) (active# U31(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V1) (active# U31(X1, X2) -> active# X1, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U31(X1, X2) -> active# X1, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U31(X1, X2) -> active# X1, active# isList V -> isPalListKind# V) (active# U31(X1, X2) -> active# X1, active# isList V -> U11#(isPalListKind V, V)) (active# U31(X1, X2) -> active# X1, active# U22(tt(), V2) -> U23# isList V2) (active# U31(X1, X2) -> active# X1, active# U22(tt(), V2) -> isList# V2) (active# U31(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# U11(tt(), V) -> isNeList# V) (active# U31(X1, X2) -> active# X1, active# U11(tt(), V) -> U12# isNeList V) (active# U31(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U31(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U31(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U31(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U31(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U31(X1, X2) -> active# X1, active# isNeList V -> isPalListKind# V) (active# U31(X1, X2) -> active# X1, active# isNeList V -> U31#(isPalListKind V, V)) (active# U31(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U31(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U31(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U31(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U31(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2) (active# U31(X1, X2) -> active# X1, active# __(X1, X2) -> active# X1) (active# U31(X1, X2) -> active# X1, active# __(X1, X2) -> __#(active X1, X2)) (active# U31(X1, X2) -> active# X1, active# __(X1, X2) -> __#(X1, active X2)) (active# U41(X1, X2, X3) -> active# X1, active# isPal V -> isPalListKind# V) (active# U41(X1, X2, X3) -> active# X1, active# isPal V -> U71#(isPalListKind V, V)) (active# U41(X1, X2, X3) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U41(X1, X2, X3) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U41(X1, X2, X3) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# and(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U71(tt(), V) -> isNePal# V) (active# U41(X1, X2, X3) -> active# X1, active# U71(tt(), V) -> U72# isNePal V) (active# U41(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U41(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U41(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U41(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U41(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U41(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U41(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U41(X1, X2, X3) -> active# X1, active# isNePal V -> isPalListKind# V) (active# U41(X1, X2, X3) -> active# X1, active# isNePal V -> U61#(isPalListKind V, V)) (active# U41(X1, X2, X3) -> active# X1, active# U72 X -> U72# active X) (active# U41(X1, X2, X3) -> active# X1, active# U72 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U61(tt(), V) -> U62# isQid V) (active# U41(X1, X2, X3) -> active# X1, active# U61(tt(), V) -> isQid# V) (active# U41(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X) (active# U41(X1, X2, X3) -> active# X1, active# U62 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U53 X -> U53# active X) (active# U41(X1, X2, X3) -> active# X1, active# U53 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U41(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U41(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> U53# isList V2) (active# U41(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> isList# V2) (active# U41(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U43 X -> U43# active X) (active# U41(X1, X2, X3) -> active# X1, active# U43 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> isList# V1) (active# U41(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U41(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> U43# isNeList V2) (active# U41(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> isNeList# V2) (active# U41(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> isQid# V) (active# U41(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> U32# isQid V) (active# U41(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U32 X -> U32# active X) (active# U41(X1, X2, X3) -> active# X1, active# U32 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X) (active# U41(X1, X2, X3) -> active# X1, active# U23 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# U21(tt(), V1, V2) -> isList# V1) (active# U41(X1, X2, X3) -> active# X1, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U41(X1, X2, X3) -> active# X1, active# U21(X1, X2, X3) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V2) (active# U41(X1, X2, X3) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U41(X1, X2, X3) -> active# X1, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# isList V -> isPalListKind# V) (active# U41(X1, X2, X3) -> active# X1, active# isList V -> U11#(isPalListKind V, V)) (active# U41(X1, X2, X3) -> active# X1, active# U22(tt(), V2) -> U23# isList V2) (active# U41(X1, X2, X3) -> active# X1, active# U22(tt(), V2) -> isList# V2) (active# U41(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# U11(tt(), V) -> isNeList# V) (active# U41(X1, X2, X3) -> active# X1, active# U11(tt(), V) -> U12# isNeList V) (active# U41(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U41(X1, X2, X3) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U41(X1, X2, X3) -> active# X1, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U41(X1, X2, X3) -> active# X1, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U41(X1, X2, X3) -> active# X1, active# isNeList V -> isPalListKind# V) (active# U41(X1, X2, X3) -> active# X1, active# isNeList V -> U31#(isPalListKind V, V)) (active# U41(X1, X2, X3) -> active# X1, active# U12 X -> U12# active X) (active# U41(X1, X2, X3) -> active# X1, active# U12 X -> active# X) (active# U41(X1, X2, X3) -> active# X1, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U41(X1, X2, X3) -> active# X1, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U41(X1, X2, X3) -> active# X1, active# __(X1, X2) -> active# X2) (active# U41(X1, X2, X3) -> active# X1, active# __(X1, X2) -> active# X1) (active# U41(X1, X2, X3) -> active# X1, active# __(X1, X2) -> __#(active X1, X2)) (active# U41(X1, X2, X3) -> active# X1, active# __(X1, X2) -> __#(X1, active X2)) (active# U51(X1, X2, X3) -> active# X1, active# isPal V -> isPalListKind# V) (active# U51(X1, X2, X3) -> active# X1, active# isPal V -> U71#(isPalListKind V, V)) (active# U51(X1, X2, X3) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U51(X1, X2, X3) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U51(X1, X2, X3) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# and(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U71(tt(), V) -> isNePal# V) (active# U51(X1, X2, X3) -> active# X1, active# U71(tt(), V) -> U72# isNePal V) (active# U51(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U51(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U51(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U51(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U51(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U51(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U51(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U51(X1, X2, X3) -> active# X1, active# isNePal V -> isPalListKind# V) (active# U51(X1, X2, X3) -> active# X1, active# isNePal V -> U61#(isPalListKind V, V)) (active# U51(X1, X2, X3) -> active# X1, active# U72 X -> U72# active X) (active# U51(X1, X2, X3) -> active# X1, active# U72 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U61(tt(), V) -> U62# isQid V) (active# U51(X1, X2, X3) -> active# X1, active# U61(tt(), V) -> isQid# V) (active# U51(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X) (active# U51(X1, X2, X3) -> active# X1, active# U62 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U53 X -> U53# active X) (active# U51(X1, X2, X3) -> active# X1, active# U53 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U51(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U51(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> U53# isList V2) (active# U51(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> isList# V2) (active# U51(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U43 X -> U43# active X) (active# U51(X1, X2, X3) -> active# X1, active# U43 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> isList# V1) (active# U51(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U51(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> U43# isNeList V2) (active# U51(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> isNeList# V2) (active# U51(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> isQid# V) (active# U51(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> U32# isQid V) (active# U51(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U32 X -> U32# active X) (active# U51(X1, X2, X3) -> active# X1, active# U32 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X) (active# U51(X1, X2, X3) -> active# X1, active# U23 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# U21(tt(), V1, V2) -> isList# V1) (active# U51(X1, X2, X3) -> active# X1, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U51(X1, X2, X3) -> active# X1, active# U21(X1, X2, X3) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V2) (active# U51(X1, X2, X3) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U51(X1, X2, X3) -> active# X1, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# isList V -> isPalListKind# V) (active# U51(X1, X2, X3) -> active# X1, active# isList V -> U11#(isPalListKind V, V)) (active# U51(X1, X2, X3) -> active# X1, active# U22(tt(), V2) -> U23# isList V2) (active# U51(X1, X2, X3) -> active# X1, active# U22(tt(), V2) -> isList# V2) (active# U51(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# U11(tt(), V) -> isNeList# V) (active# U51(X1, X2, X3) -> active# X1, active# U11(tt(), V) -> U12# isNeList V) (active# U51(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U51(X1, X2, X3) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U51(X1, X2, X3) -> active# X1, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U51(X1, X2, X3) -> active# X1, active# isNeList V -> isPalListKind# V) (active# U51(X1, X2, X3) -> active# X1, active# isNeList V -> U31#(isPalListKind V, V)) (active# U51(X1, X2, X3) -> active# X1, active# U12 X -> U12# active X) (active# U51(X1, X2, X3) -> active# X1, active# U12 X -> active# X) (active# U51(X1, X2, X3) -> active# X1, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U51(X1, X2, X3) -> active# X1, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U51(X1, X2, X3) -> active# X1, active# __(X1, X2) -> active# X2) (active# U51(X1, X2, X3) -> active# X1, active# __(X1, X2) -> active# X1) (active# U51(X1, X2, X3) -> active# X1, active# __(X1, X2) -> __#(active X1, X2)) (active# U51(X1, X2, X3) -> active# X1, active# __(X1, X2) -> __#(X1, active X2)) (active# U71(X1, X2) -> active# X1, active# isPal V -> isPalListKind# V) (active# U71(X1, X2) -> active# X1, active# isPal V -> U71#(isPalListKind V, V)) (active# U71(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U71(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U71(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U71(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U71(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U71(X1, X2) -> active# X1, active# U71(tt(), V) -> isNePal# V) (active# U71(X1, X2) -> active# X1, active# U71(tt(), V) -> U72# isNePal V) (active# U71(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U71(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1) (active# U71(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U71(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U71(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U71(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U71(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U71(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U71(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U71(X1, X2) -> active# X1, active# isNePal V -> isPalListKind# V) (active# U71(X1, X2) -> active# X1, active# isNePal V -> U61#(isPalListKind V, V)) (active# U71(X1, X2) -> active# X1, active# U72 X -> U72# active X) (active# U71(X1, X2) -> active# X1, active# U72 X -> active# X) (active# U71(X1, X2) -> active# X1, active# U61(tt(), V) -> U62# isQid V) (active# U71(X1, X2) -> active# X1, active# U61(tt(), V) -> isQid# V) (active# U71(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U71(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U71(X1, X2) -> active# X1, active# U62 X -> U62# active X) (active# U71(X1, X2) -> active# X1, active# U62 X -> active# X) (active# U71(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U71(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U71(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U71(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U71(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U71(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U71(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isList V2) (active# U71(X1, X2) -> active# X1, active# U52(tt(), V2) -> isList# V2) (active# U71(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U71(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U71(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U71(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U71(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U71(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isList# V1) (active# U71(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U71(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U71(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNeList V2) (active# U71(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNeList# V2) (active# U71(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U71(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U71(X1, X2) -> active# X1, active# U31(tt(), V) -> isQid# V) (active# U71(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isQid V) (active# U71(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U71(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U71(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U71(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U71(X1, X2) -> active# X1, active# U23 X -> U23# active X) (active# U71(X1, X2) -> active# X1, active# U23 X -> active# X) (active# U71(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> isList# V1) (active# U71(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U71(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U71(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> active# X1) (active# U71(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V2) (active# U71(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V1) (active# U71(X1, X2) -> active# X1, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U71(X1, X2) -> active# X1, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U71(X1, X2) -> active# X1, active# isList V -> isPalListKind# V) (active# U71(X1, X2) -> active# X1, active# isList V -> U11#(isPalListKind V, V)) (active# U71(X1, X2) -> active# X1, active# U22(tt(), V2) -> U23# isList V2) (active# U71(X1, X2) -> active# X1, active# U22(tt(), V2) -> isList# V2) (active# U71(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U71(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1) (active# U71(X1, X2) -> active# X1, active# U11(tt(), V) -> isNeList# V) (active# U71(X1, X2) -> active# X1, active# U11(tt(), V) -> U12# isNeList V) (active# U71(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U71(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U71(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U71(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U71(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U71(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U71(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U71(X1, X2) -> active# X1, active# isNeList V -> isPalListKind# V) (active# U71(X1, X2) -> active# X1, active# isNeList V -> U31#(isPalListKind V, V)) (active# U71(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U71(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U71(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U71(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U71(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2) (active# U71(X1, X2) -> active# X1, active# __(X1, X2) -> active# X1) (active# U71(X1, X2) -> active# X1, active# __(X1, X2) -> __#(active X1, X2)) (active# U71(X1, X2) -> active# X1, active# __(X1, X2) -> __#(X1, active X2)) (proper# __(X1, X2) -> proper# X1, proper# isPal X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# __(X1, X2) -> proper# X1, proper# isPalListKind X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# isPalListKind X -> isPalListKind# proper X) (proper# __(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X1, proper# isNePal X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# __(X1, X2) -> proper# X1, proper# U72 X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# U72 X -> U72# proper X) (proper# __(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X1, proper# U62 X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X) (proper# __(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# __(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# __(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# __(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# __(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# __(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# __(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X1, proper# isQid X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# __(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# __(X1, X2) -> proper# X1, proper# U23 X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X) (proper# __(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X3) (proper# __(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# __(X1, X2) -> proper# X1, proper# isList X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# isList X -> isList# proper X) (proper# __(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X1, proper# isNeList X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# __(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X1, proper# isPal X -> proper# X) (proper# U22(X1, X2) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# U22(X1, X2) -> proper# X1, proper# isPalListKind X -> proper# X) (proper# U22(X1, X2) -> proper# X1, proper# isPalListKind X -> isPalListKind# proper X) (proper# U22(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X1, proper# isNePal X -> proper# X) (proper# U22(X1, X2) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# U22(X1, X2) -> proper# X1, proper# U72 X -> proper# X) (proper# U22(X1, X2) -> proper# X1, proper# U72 X -> U72# proper X) (proper# U22(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X1, proper# U62 X -> proper# X) (proper# U22(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X) (proper# U22(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U22(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U22(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U22(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U22(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U22(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U22(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U22(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U22(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U22(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U22(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U22(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U22(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X1, proper# isQid X -> proper# X) (proper# U22(X1, X2) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# U22(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U22(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U22(X1, X2) -> proper# X1, proper# U23 X -> proper# X) (proper# U22(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X) (proper# U22(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X3) (proper# U22(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X2) (proper# U22(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X1) (proper# U22(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U22(X1, X2) -> proper# X1, proper# isList X -> proper# X) (proper# U22(X1, X2) -> proper# X1, proper# isList X -> isList# proper X) (proper# U22(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U22(X1, X2) -> proper# X1, proper# isNeList X -> proper# X) (proper# U22(X1, X2) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# U22(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U22(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U22(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# U22(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# U22(X1, X2) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# isPal X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# U31(X1, X2) -> proper# X1, proper# isPalListKind X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isPalListKind X -> isPalListKind# proper X) (proper# U31(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# isNePal X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U72 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U72 X -> U72# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# U62 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# isQid X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U23 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X3) (proper# U31(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U31(X1, X2) -> proper# X1, proper# isList X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isList X -> isList# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U31(X1, X2) -> proper# X1, proper# isNeList X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# U31(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U31(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U31(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# U31(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# U31(X1, X2) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isPal X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isPalListKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isPalListKind X -> isPalListKind# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNePal X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U72 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U72 X -> U72# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U53 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U43 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isQid X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U32 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isList X -> isList# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNeList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U12 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U41(X1, X2, X3) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isPal X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isPalListKind X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isPalListKind X -> isPalListKind# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNePal X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U72 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U72 X -> U72# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U53 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U43 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isQid X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U32 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X3) (proper# U51(X1, X2, X3) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isList X -> isList# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNeList X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U12 X -> proper# X) (proper# U51(X1, X2, X3) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U51(X1, X2, X3) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# U51(X1, X2, X3) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# U51(X1, X2, X3) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X1, proper# isPal X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# U71(X1, X2) -> proper# X1, proper# isPalListKind X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# isPalListKind X -> isPalListKind# proper X) (proper# U71(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X1, proper# isNePal X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U72 X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# U72 X -> U72# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X1, proper# U62 X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X1, proper# isQid X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U23 X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X3) (proper# U71(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U71(X1, X2) -> proper# X1, proper# isList X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# isList X -> isList# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X1, proper# isNeList X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U71(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (active# U22(tt(), V2) -> U23# isList V2, U23# ok X -> U23# X) (active# U22(tt(), V2) -> U23# isList V2, U23# mark X -> U23# X) (active# U52(tt(), V2) -> U53# isList V2, U53# ok X -> U53# X) (active# U52(tt(), V2) -> U53# isList V2, U53# mark X -> U53# X) (active# U31(tt(), V) -> U32# isQid V, U32# ok X -> U32# X) (active# U31(tt(), V) -> U32# isQid V, U32# mark X -> U32# X) (active# U71(tt(), V) -> U72# isNePal V, U72# ok X -> U72# X) (active# U71(tt(), V) -> U72# isNePal V, U72# mark X -> U72# X) (active# U23 X -> U23# active X, U23# ok X -> U23# X) (active# U23 X -> U23# active X, U23# mark X -> U23# X) (active# U43 X -> U43# active X, U43# ok X -> U43# X) (active# U43 X -> U43# active X, U43# mark X -> U43# X) (active# U62 X -> U62# active X, U62# ok X -> U62# X) (active# U62 X -> U62# active X, U62# mark X -> U62# X) (proper# U12 X -> U12# proper X, U12# ok X -> U12# X) (proper# U12 X -> U12# proper X, U12# mark X -> U12# X) (proper# isList X -> isList# proper X, isList# ok X -> isList# X) (proper# U32 X -> U32# proper X, U32# ok X -> U32# X) (proper# U32 X -> U32# proper X, U32# mark X -> U32# X) (proper# U43 X -> U43# proper X, U43# ok X -> U43# X) (proper# U43 X -> U43# proper X, U43# mark X -> U43# X) (proper# U62 X -> U62# proper X, U62# ok X -> U62# X) (proper# U62 X -> U62# proper X, U62# mark X -> U62# X) (proper# isNePal X -> isNePal# proper X, isNePal# ok X -> isNePal# X) (proper# isPal X -> isPal# proper X, isPal# ok X -> isPal# X) (top# ok X -> top# active X, top# ok X -> top# active X) (top# ok X -> top# active X, top# ok X -> active# X) (top# ok X -> top# active X, top# mark X -> top# proper X) (top# ok X -> top# active X, top# mark X -> proper# X) (active# isNePal __(I, __(P, I)) -> isPalListKind# P, isPalListKind# ok X -> isPalListKind# X) (active# __(X1, X2) -> __#(X1, active X2), __#(ok X1, ok X2) -> __#(X1, X2)) (active# __(X1, X2) -> __#(X1, active X2), __#(mark X1, X2) -> __#(X1, X2)) (active# __(X1, X2) -> __#(X1, active X2), __#(X1, mark X2) -> __#(X1, X2)) (active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2), and#(mark X1, X2) -> and#(X1, X2)) (active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P), and#(ok X1, ok X2) -> and#(X1, X2)) (active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P), and#(mark X1, X2) -> and#(X1, X2)) (proper# __(X1, X2) -> __#(proper X1, proper X2), __#(ok X1, ok X2) -> __#(X1, X2)) (proper# __(X1, X2) -> __#(proper X1, proper X2), __#(mark X1, X2) -> __#(X1, X2)) (proper# __(X1, X2) -> __#(proper X1, proper X2), __#(X1, mark X2) -> __#(X1, X2)) (proper# U22(X1, X2) -> U22#(proper X1, proper X2), U22#(ok X1, ok X2) -> U22#(X1, X2)) (proper# U22(X1, X2) -> U22#(proper X1, proper X2), U22#(mark X1, X2) -> U22#(X1, X2)) (proper# U42(X1, X2) -> U42#(proper X1, proper X2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (proper# U42(X1, X2) -> U42#(proper X1, proper X2), U42#(mark X1, X2) -> U42#(X1, X2)) (proper# U61(X1, X2) -> U61#(proper X1, proper X2), U61#(ok X1, ok X2) -> U61#(X1, X2)) (proper# U61(X1, X2) -> U61#(proper X1, proper X2), U61#(mark X1, X2) -> U61#(X1, X2)) (proper# and(X1, X2) -> and#(proper X1, proper X2), and#(ok X1, ok X2) -> and#(X1, X2)) (proper# and(X1, X2) -> and#(proper X1, proper X2), and#(mark X1, X2) -> and#(X1, X2)) (active# isList V -> U11#(isPalListKind V, V), U11#(ok X1, ok X2) -> U11#(X1, X2)) (active# isList V -> U11#(isPalListKind V, V), U11#(mark X1, X2) -> U11#(X1, X2)) (active# isPal V -> U71#(isPalListKind V, V), U71#(ok X1, ok X2) -> U71#(X1, X2)) (active# isPal V -> U71#(isPalListKind V, V), U71#(mark X1, X2) -> U71#(X1, X2)) (proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (active# U21(X1, X2, X3) -> U21#(active X1, X2, X3), U21#(ok X1, ok X2, ok X3) -> U21#(X1, X2, X3)) (active# U21(X1, X2, X3) -> U21#(active X1, X2, X3), U21#(mark X1, X2, X3) -> U21#(X1, X2, X3)) (active# U51(X1, X2, X3) -> U51#(active X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (active# U51(X1, X2, X3) -> U51#(active X1, X2, X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (U21#(ok X1, ok X2, ok X3) -> U21#(X1, X2, X3), U21#(ok X1, ok X2, ok X3) -> U21#(X1, X2, X3)) (U21#(ok X1, ok X2, ok X3) -> U21#(X1, X2, X3), U21#(mark X1, X2, X3) -> U21#(X1, X2, X3)) (U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (active# isNePal __(I, __(P, I)) -> isPalListKind# I, isPalListKind# ok X -> isPalListKind# X) (active# U23 X -> active# X, active# isPal V -> isPalListKind# V) (active# U23 X -> active# X, active# isPal V -> U71#(isPalListKind V, V)) (active# U23 X -> active# X, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U23 X -> active# X, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U23 X -> active# X, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U23 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U23 X -> active# X, active# and(X1, X2) -> active# X1) (active# U23 X -> active# X, active# U71(tt(), V) -> isNePal# V) (active# U23 X -> active# X, active# U71(tt(), V) -> U72# isNePal V) (active# U23 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U23 X -> active# X, active# U71(X1, X2) -> active# X1) (active# U23 X -> active# X, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U23 X -> active# X, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U23 X -> active# X, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U23 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U23 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U23 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U23 X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U23 X -> active# X, active# isNePal V -> isPalListKind# V) (active# U23 X -> active# X, active# isNePal V -> U61#(isPalListKind V, V)) (active# U23 X -> active# X, active# U72 X -> U72# active X) (active# U23 X -> active# X, active# U72 X -> active# X) (active# U23 X -> active# X, active# U61(tt(), V) -> U62# isQid V) (active# U23 X -> active# X, active# U61(tt(), V) -> isQid# V) (active# U23 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U23 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U23 X -> active# X, active# U62 X -> U62# active X) (active# U23 X -> active# X, active# U62 X -> active# X) (active# U23 X -> active# X, active# U53 X -> U53# active X) (active# U23 X -> active# X, active# U53 X -> active# X) (active# U23 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U23 X -> active# X, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U23 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U23 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U23 X -> active# X, active# U52(tt(), V2) -> U53# isList V2) (active# U23 X -> active# X, active# U52(tt(), V2) -> isList# V2) (active# U23 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U23 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U23 X -> active# X, active# U43 X -> U43# active X) (active# U23 X -> active# X, active# U43 X -> active# X) (active# U23 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U23 X -> active# X, active# U41(tt(), V1, V2) -> isList# V1) (active# U23 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U23 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U23 X -> active# X, active# U42(tt(), V2) -> U43# isNeList V2) (active# U23 X -> active# X, active# U42(tt(), V2) -> isNeList# V2) (active# U23 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U23 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U23 X -> active# X, active# U31(tt(), V) -> isQid# V) (active# U23 X -> active# X, active# U31(tt(), V) -> U32# isQid V) (active# U23 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U23 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U23 X -> active# X, active# U32 X -> U32# active X) (active# U23 X -> active# X, active# U32 X -> active# X) (active# U23 X -> active# X, active# U23 X -> U23# active X) (active# U23 X -> active# X, active# U23 X -> active# X) (active# U23 X -> active# X, active# U21(tt(), V1, V2) -> isList# V1) (active# U23 X -> active# X, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U23 X -> active# X, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U23 X -> active# X, active# U21(X1, X2, X3) -> active# X1) (active# U23 X -> active# X, active# isList __(V1, V2) -> isPalListKind# V2) (active# U23 X -> active# X, active# isList __(V1, V2) -> isPalListKind# V1) (active# U23 X -> active# X, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U23 X -> active# X, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U23 X -> active# X, active# isList V -> isPalListKind# V) (active# U23 X -> active# X, active# isList V -> U11#(isPalListKind V, V)) (active# U23 X -> active# X, active# U22(tt(), V2) -> U23# isList V2) (active# U23 X -> active# X, active# U22(tt(), V2) -> isList# V2) (active# U23 X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U23 X -> active# X, active# U22(X1, X2) -> active# X1) (active# U23 X -> active# X, active# U11(tt(), V) -> isNeList# V) (active# U23 X -> active# X, active# U11(tt(), V) -> U12# isNeList V) (active# U23 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U23 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U23 X -> active# X, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U23 X -> active# X, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U23 X -> active# X, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U23 X -> active# X, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U23 X -> active# X, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U23 X -> active# X, active# isNeList V -> isPalListKind# V) (active# U23 X -> active# X, active# isNeList V -> U31#(isPalListKind V, V)) (active# U23 X -> active# X, active# U12 X -> U12# active X) (active# U23 X -> active# X, active# U12 X -> active# X) (active# U23 X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U23 X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U23 X -> active# X, active# __(X1, X2) -> active# X2) (active# U23 X -> active# X, active# __(X1, X2) -> active# X1) (active# U23 X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (active# U23 X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (active# U43 X -> active# X, active# isPal V -> isPalListKind# V) (active# U43 X -> active# X, active# isPal V -> U71#(isPalListKind V, V)) (active# U43 X -> active# X, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U43 X -> active# X, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U43 X -> active# X, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U43 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U43 X -> active# X, active# and(X1, X2) -> active# X1) (active# U43 X -> active# X, active# U71(tt(), V) -> isNePal# V) (active# U43 X -> active# X, active# U71(tt(), V) -> U72# isNePal V) (active# U43 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U43 X -> active# X, active# U71(X1, X2) -> active# X1) (active# U43 X -> active# X, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U43 X -> active# X, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U43 X -> active# X, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U43 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U43 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U43 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U43 X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U43 X -> active# X, active# isNePal V -> isPalListKind# V) (active# U43 X -> active# X, active# isNePal V -> U61#(isPalListKind V, V)) (active# U43 X -> active# X, active# U72 X -> U72# active X) (active# U43 X -> active# X, active# U72 X -> active# X) (active# U43 X -> active# X, active# U61(tt(), V) -> U62# isQid V) (active# U43 X -> active# X, active# U61(tt(), V) -> isQid# V) (active# U43 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U43 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U43 X -> active# X, active# U62 X -> U62# active X) (active# U43 X -> active# X, active# U62 X -> active# X) (active# U43 X -> active# X, active# U53 X -> U53# active X) (active# U43 X -> active# X, active# U53 X -> active# X) (active# U43 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U43 X -> active# X, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U43 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U43 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U43 X -> active# X, active# U52(tt(), V2) -> U53# isList V2) (active# U43 X -> active# X, active# U52(tt(), V2) -> isList# V2) (active# U43 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U43 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U43 X -> active# X, active# U43 X -> U43# active X) (active# U43 X -> active# X, active# U43 X -> active# X) (active# U43 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U43 X -> active# X, active# U41(tt(), V1, V2) -> isList# V1) (active# U43 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U43 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U43 X -> active# X, active# U42(tt(), V2) -> U43# isNeList V2) (active# U43 X -> active# X, active# U42(tt(), V2) -> isNeList# V2) (active# U43 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U43 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U43 X -> active# X, active# U31(tt(), V) -> isQid# V) (active# U43 X -> active# X, active# U31(tt(), V) -> U32# isQid V) (active# U43 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U43 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U43 X -> active# X, active# U32 X -> U32# active X) (active# U43 X -> active# X, active# U32 X -> active# X) (active# U43 X -> active# X, active# U23 X -> U23# active X) (active# U43 X -> active# X, active# U23 X -> active# X) (active# U43 X -> active# X, active# U21(tt(), V1, V2) -> isList# V1) (active# U43 X -> active# X, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U43 X -> active# X, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U43 X -> active# X, active# U21(X1, X2, X3) -> active# X1) (active# U43 X -> active# X, active# isList __(V1, V2) -> isPalListKind# V2) (active# U43 X -> active# X, active# isList __(V1, V2) -> isPalListKind# V1) (active# U43 X -> active# X, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U43 X -> active# X, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U43 X -> active# X, active# isList V -> isPalListKind# V) (active# U43 X -> active# X, active# isList V -> U11#(isPalListKind V, V)) (active# U43 X -> active# X, active# U22(tt(), V2) -> U23# isList V2) (active# U43 X -> active# X, active# U22(tt(), V2) -> isList# V2) (active# U43 X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U43 X -> active# X, active# U22(X1, X2) -> active# X1) (active# U43 X -> active# X, active# U11(tt(), V) -> isNeList# V) (active# U43 X -> active# X, active# U11(tt(), V) -> U12# isNeList V) (active# U43 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U43 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U43 X -> active# X, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U43 X -> active# X, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U43 X -> active# X, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U43 X -> active# X, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U43 X -> active# X, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U43 X -> active# X, active# isNeList V -> isPalListKind# V) (active# U43 X -> active# X, active# isNeList V -> U31#(isPalListKind V, V)) (active# U43 X -> active# X, active# U12 X -> U12# active X) (active# U43 X -> active# X, active# U12 X -> active# X) (active# U43 X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U43 X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U43 X -> active# X, active# __(X1, X2) -> active# X2) (active# U43 X -> active# X, active# __(X1, X2) -> active# X1) (active# U43 X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (active# U43 X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (active# U62 X -> active# X, active# isPal V -> isPalListKind# V) (active# U62 X -> active# X, active# isPal V -> U71#(isPalListKind V, V)) (active# U62 X -> active# X, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U62 X -> active# X, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U62 X -> active# X, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U62 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U62 X -> active# X, active# and(X1, X2) -> active# X1) (active# U62 X -> active# X, active# U71(tt(), V) -> isNePal# V) (active# U62 X -> active# X, active# U71(tt(), V) -> U72# isNePal V) (active# U62 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U62 X -> active# X, active# U71(X1, X2) -> active# X1) (active# U62 X -> active# X, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U62 X -> active# X, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U62 X -> active# X, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U62 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U62 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U62 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U62 X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U62 X -> active# X, active# isNePal V -> isPalListKind# V) (active# U62 X -> active# X, active# isNePal V -> U61#(isPalListKind V, V)) (active# U62 X -> active# X, active# U72 X -> U72# active X) (active# U62 X -> active# X, active# U72 X -> active# X) (active# U62 X -> active# X, active# U61(tt(), V) -> U62# isQid V) (active# U62 X -> active# X, active# U61(tt(), V) -> isQid# V) (active# U62 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U62 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U62 X -> active# X, active# U62 X -> U62# active X) (active# U62 X -> active# X, active# U62 X -> active# X) (active# U62 X -> active# X, active# U53 X -> U53# active X) (active# U62 X -> active# X, active# U53 X -> active# X) (active# U62 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U62 X -> active# X, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U62 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U62 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U62 X -> active# X, active# U52(tt(), V2) -> U53# isList V2) (active# U62 X -> active# X, active# U52(tt(), V2) -> isList# V2) (active# U62 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U62 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U62 X -> active# X, active# U43 X -> U43# active X) (active# U62 X -> active# X, active# U43 X -> active# X) (active# U62 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U62 X -> active# X, active# U41(tt(), V1, V2) -> isList# V1) (active# U62 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U62 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U62 X -> active# X, active# U42(tt(), V2) -> U43# isNeList V2) (active# U62 X -> active# X, active# U42(tt(), V2) -> isNeList# V2) (active# U62 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U62 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U62 X -> active# X, active# U31(tt(), V) -> isQid# V) (active# U62 X -> active# X, active# U31(tt(), V) -> U32# isQid V) (active# U62 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U62 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U62 X -> active# X, active# U32 X -> U32# active X) (active# U62 X -> active# X, active# U32 X -> active# X) (active# U62 X -> active# X, active# U23 X -> U23# active X) (active# U62 X -> active# X, active# U23 X -> active# X) (active# U62 X -> active# X, active# U21(tt(), V1, V2) -> isList# V1) (active# U62 X -> active# X, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U62 X -> active# X, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U62 X -> active# X, active# U21(X1, X2, X3) -> active# X1) (active# U62 X -> active# X, active# isList __(V1, V2) -> isPalListKind# V2) (active# U62 X -> active# X, active# isList __(V1, V2) -> isPalListKind# V1) (active# U62 X -> active# X, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U62 X -> active# X, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U62 X -> active# X, active# isList V -> isPalListKind# V) (active# U62 X -> active# X, active# isList V -> U11#(isPalListKind V, V)) (active# U62 X -> active# X, active# U22(tt(), V2) -> U23# isList V2) (active# U62 X -> active# X, active# U22(tt(), V2) -> isList# V2) (active# U62 X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U62 X -> active# X, active# U22(X1, X2) -> active# X1) (active# U62 X -> active# X, active# U11(tt(), V) -> isNeList# V) (active# U62 X -> active# X, active# U11(tt(), V) -> U12# isNeList V) (active# U62 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U62 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U62 X -> active# X, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U62 X -> active# X, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U62 X -> active# X, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U62 X -> active# X, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U62 X -> active# X, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U62 X -> active# X, active# isNeList V -> isPalListKind# V) (active# U62 X -> active# X, active# isNeList V -> U31#(isPalListKind V, V)) (active# U62 X -> active# X, active# U12 X -> U12# active X) (active# U62 X -> active# X, active# U12 X -> active# X) (active# U62 X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U62 X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U62 X -> active# X, active# __(X1, X2) -> active# X2) (active# U62 X -> active# X, active# __(X1, X2) -> active# X1) (active# U62 X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (active# U62 X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (U12# mark X -> U12# X, U12# ok X -> U12# X) (U12# mark X -> U12# X, U12# mark X -> U12# X) (isNeList# ok X -> isNeList# X, isNeList# ok X -> isNeList# X) (U23# mark X -> U23# X, U23# ok X -> U23# X) (U23# mark X -> U23# X, U23# mark X -> U23# X) (U32# mark X -> U32# X, U32# ok X -> U32# X) (U32# mark X -> U32# X, U32# mark X -> U32# X) (isQid# ok X -> isQid# X, isQid# ok X -> isQid# X) (U43# ok X -> U43# X, U43# ok X -> U43# X) (U43# ok X -> U43# X, U43# mark X -> U43# X) (U53# ok X -> U53# X, U53# ok X -> U53# X) (U53# ok X -> U53# X, U53# mark X -> U53# X) (U62# ok X -> U62# X, U62# ok X -> U62# X) (U62# ok X -> U62# X, U62# mark X -> U62# X) (U72# ok X -> U72# X, U72# ok X -> U72# X) (U72# ok X -> U72# X, U72# mark X -> U72# X) (isPalListKind# ok X -> isPalListKind# X, isPalListKind# ok X -> isPalListKind# X) (proper# U12 X -> proper# X, proper# isPal X -> proper# X) (proper# U12 X -> proper# X, proper# isPal X -> isPal# proper X) (proper# U12 X -> proper# X, proper# isPalListKind X -> proper# X) (proper# U12 X -> proper# X, proper# isPalListKind X -> isPalListKind# proper X) (proper# U12 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# isNePal X -> proper# X) (proper# U12 X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# U12 X -> proper# X, proper# U72 X -> proper# X) (proper# U12 X -> proper# X, proper# U72 X -> U72# proper X) (proper# U12 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U62 X -> proper# X) (proper# U12 X -> proper# X, proper# U62 X -> U62# proper X) (proper# U12 X -> proper# X, proper# U53 X -> proper# X) (proper# U12 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U12 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U12 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U12 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U12 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U12 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U43 X -> proper# X) (proper# U12 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U12 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U12 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U12 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U12 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U12 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# isQid X -> proper# X) (proper# U12 X -> proper# X, proper# isQid X -> isQid# proper X) (proper# U12 X -> proper# X, proper# U32 X -> proper# X) (proper# U12 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U12 X -> proper# X, proper# U23 X -> proper# X) (proper# U12 X -> proper# X, proper# U23 X -> U23# proper X) (proper# U12 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X3) (proper# U12 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X2) (proper# U12 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X1) (proper# U12 X -> proper# X, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U12 X -> proper# X, proper# isList X -> proper# X) (proper# U12 X -> proper# X, proper# isList X -> isList# proper X) (proper# U12 X -> proper# X, proper# U22(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U22(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U12 X -> proper# X, proper# isNeList X -> proper# X) (proper# U12 X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# U12 X -> proper# X, proper# U12 X -> proper# X) (proper# U12 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U12 X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# U12 X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# U12 X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# isList X -> proper# X, proper# isPal X -> proper# X) (proper# isList X -> proper# X, proper# isPal X -> isPal# proper X) (proper# isList X -> proper# X, proper# isPalListKind X -> proper# X) (proper# isList X -> proper# X, proper# isPalListKind X -> isPalListKind# proper X) (proper# isList X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isList X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isList X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isList X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# isList X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# isList X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# isList X -> proper# X, proper# isNePal X -> proper# X) (proper# isList X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# isList X -> proper# X, proper# U72 X -> proper# X) (proper# isList X -> proper# X, proper# U72 X -> U72# proper X) (proper# isList X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isList X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isList X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isList X -> proper# X, proper# U62 X -> proper# X) (proper# isList X -> proper# X, proper# U62 X -> U62# proper X) (proper# isList X -> proper# X, proper# U53 X -> proper# X) (proper# isList X -> proper# X, proper# U53 X -> U53# proper X) (proper# isList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isList X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isList X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isList X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isList X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isList X -> proper# X, proper# U43 X -> proper# X) (proper# isList X -> proper# X, proper# U43 X -> U43# proper X) (proper# isList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isList X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isList X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isList X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isList X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isList X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isList X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isList X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isList X -> proper# X, proper# isQid X -> proper# X) (proper# isList X -> proper# X, proper# isQid X -> isQid# proper X) (proper# isList X -> proper# X, proper# U32 X -> proper# X) (proper# isList X -> proper# X, proper# U32 X -> U32# proper X) (proper# isList X -> proper# X, proper# U23 X -> proper# X) (proper# isList X -> proper# X, proper# U23 X -> U23# proper X) (proper# isList X -> proper# X, proper# U21(X1, X2, X3) -> proper# X3) (proper# isList X -> proper# X, proper# U21(X1, X2, X3) -> proper# X2) (proper# isList X -> proper# X, proper# U21(X1, X2, X3) -> proper# X1) (proper# isList X -> proper# X, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# isList X -> proper# X, proper# isList X -> proper# X) (proper# isList X -> proper# X, proper# isList X -> isList# proper X) (proper# isList X -> proper# X, proper# U22(X1, X2) -> proper# X2) (proper# isList X -> proper# X, proper# U22(X1, X2) -> proper# X1) (proper# isList X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# isList X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isList X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isList X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isList X -> proper# X, proper# isNeList X -> proper# X) (proper# isList X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# isList X -> proper# X, proper# U12 X -> proper# X) (proper# isList X -> proper# X, proper# U12 X -> U12# proper X) (proper# isList X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# isList X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# isList X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# isPal X -> proper# X) (proper# U32 X -> proper# X, proper# isPal X -> isPal# proper X) (proper# U32 X -> proper# X, proper# isPalListKind X -> proper# X) (proper# U32 X -> proper# X, proper# isPalListKind X -> isPalListKind# proper X) (proper# U32 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# isNePal X -> proper# X) (proper# U32 X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# U32 X -> proper# X, proper# U72 X -> proper# X) (proper# U32 X -> proper# X, proper# U72 X -> U72# proper X) (proper# U32 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U62 X -> proper# X) (proper# U32 X -> proper# X, proper# U62 X -> U62# proper X) (proper# U32 X -> proper# X, proper# U53 X -> proper# X) (proper# U32 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U32 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U32 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U32 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U32 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U32 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U43 X -> proper# X) (proper# U32 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U32 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U32 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U32 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U32 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U32 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# isQid X -> proper# X) (proper# U32 X -> proper# X, proper# isQid X -> isQid# proper X) (proper# U32 X -> proper# X, proper# U32 X -> proper# X) (proper# U32 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U32 X -> proper# X, proper# U23 X -> proper# X) (proper# U32 X -> proper# X, proper# U23 X -> U23# proper X) (proper# U32 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X3) (proper# U32 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X2) (proper# U32 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X1) (proper# U32 X -> proper# X, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U32 X -> proper# X, proper# isList X -> proper# X) (proper# U32 X -> proper# X, proper# isList X -> isList# proper X) (proper# U32 X -> proper# X, proper# U22(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U22(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U32 X -> proper# X, proper# isNeList X -> proper# X) (proper# U32 X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# U32 X -> proper# X, proper# U12 X -> proper# X) (proper# U32 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U32 X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# U32 X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# U32 X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# isPal X -> proper# X) (proper# U43 X -> proper# X, proper# isPal X -> isPal# proper X) (proper# U43 X -> proper# X, proper# isPalListKind X -> proper# X) (proper# U43 X -> proper# X, proper# isPalListKind X -> isPalListKind# proper X) (proper# U43 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# isNePal X -> proper# X) (proper# U43 X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# U43 X -> proper# X, proper# U72 X -> proper# X) (proper# U43 X -> proper# X, proper# U72 X -> U72# proper X) (proper# U43 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# U62 X -> proper# X) (proper# U43 X -> proper# X, proper# U62 X -> U62# proper X) (proper# U43 X -> proper# X, proper# U53 X -> proper# X) (proper# U43 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U43 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U43 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U43 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U43 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U43 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# U43 X -> proper# X) (proper# U43 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U43 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U43 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U43 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U43 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U43 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# isQid X -> proper# X) (proper# U43 X -> proper# X, proper# isQid X -> isQid# proper X) (proper# U43 X -> proper# X, proper# U32 X -> proper# X) (proper# U43 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U43 X -> proper# X, proper# U23 X -> proper# X) (proper# U43 X -> proper# X, proper# U23 X -> U23# proper X) (proper# U43 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X3) (proper# U43 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X2) (proper# U43 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X1) (proper# U43 X -> proper# X, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U43 X -> proper# X, proper# isList X -> proper# X) (proper# U43 X -> proper# X, proper# isList X -> isList# proper X) (proper# U43 X -> proper# X, proper# U22(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U22(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U43 X -> proper# X, proper# isNeList X -> proper# X) (proper# U43 X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# U43 X -> proper# X, proper# U12 X -> proper# X) (proper# U43 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U43 X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# U43 X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# U43 X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U62 X -> proper# X, proper# isPal X -> proper# X) (proper# U62 X -> proper# X, proper# isPal X -> isPal# proper X) (proper# U62 X -> proper# X, proper# isPalListKind X -> proper# X) (proper# U62 X -> proper# X, proper# isPalListKind X -> isPalListKind# proper X) (proper# U62 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U62 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U62 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U62 X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# U62 X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# U62 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U62 X -> proper# X, proper# isNePal X -> proper# X) (proper# U62 X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# U62 X -> proper# X, proper# U72 X -> proper# X) (proper# U62 X -> proper# X, proper# U72 X -> U72# proper X) (proper# U62 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U62 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U62 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U62 X -> proper# X, proper# U62 X -> proper# X) (proper# U62 X -> proper# X, proper# U62 X -> U62# proper X) (proper# U62 X -> proper# X, proper# U53 X -> proper# X) (proper# U62 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U62 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U62 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U62 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U62 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U62 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U62 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U62 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U62 X -> proper# X, proper# U43 X -> proper# X) (proper# U62 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U62 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U62 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U62 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U62 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U62 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U62 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U62 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U62 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U62 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U62 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U62 X -> proper# X, proper# isQid X -> proper# X) (proper# U62 X -> proper# X, proper# isQid X -> isQid# proper X) (proper# U62 X -> proper# X, proper# U32 X -> proper# X) (proper# U62 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U62 X -> proper# X, proper# U23 X -> proper# X) (proper# U62 X -> proper# X, proper# U23 X -> U23# proper X) (proper# U62 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X3) (proper# U62 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X2) (proper# U62 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X1) (proper# U62 X -> proper# X, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U62 X -> proper# X, proper# isList X -> proper# X) (proper# U62 X -> proper# X, proper# isList X -> isList# proper X) (proper# U62 X -> proper# X, proper# U22(X1, X2) -> proper# X2) (proper# U62 X -> proper# X, proper# U22(X1, X2) -> proper# X1) (proper# U62 X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U62 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U62 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U62 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U62 X -> proper# X, proper# isNeList X -> proper# X) (proper# U62 X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# U62 X -> proper# X, proper# U12 X -> proper# X) (proper# U62 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U62 X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# U62 X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# U62 X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# isNePal X -> proper# X, proper# isPal X -> proper# X) (proper# isNePal X -> proper# X, proper# isPal X -> isPal# proper X) (proper# isNePal X -> proper# X, proper# isPalListKind X -> proper# X) (proper# isNePal X -> proper# X, proper# isPalListKind X -> isPalListKind# proper X) (proper# isNePal X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNePal X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNePal X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNePal X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# isNePal X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# isNePal X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# isNePal X -> proper# X, proper# isNePal X -> proper# X) (proper# isNePal X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# isNePal X -> proper# X, proper# U72 X -> proper# X) (proper# isNePal X -> proper# X, proper# U72 X -> U72# proper X) (proper# isNePal X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNePal X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNePal X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNePal X -> proper# X, proper# U62 X -> proper# X) (proper# isNePal X -> proper# X, proper# U62 X -> U62# proper X) (proper# isNePal X -> proper# X, proper# U53 X -> proper# X) (proper# isNePal X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNePal X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNePal X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNePal X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNePal X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNePal X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNePal X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNePal X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNePal X -> proper# X, proper# U43 X -> proper# X) (proper# isNePal X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNePal X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNePal X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNePal X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNePal X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNePal X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNePal X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNePal X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNePal X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNePal X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNePal X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNePal X -> proper# X, proper# isQid X -> proper# X) (proper# isNePal X -> proper# X, proper# isQid X -> isQid# proper X) (proper# isNePal X -> proper# X, proper# U32 X -> proper# X) (proper# isNePal X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNePal X -> proper# X, proper# U23 X -> proper# X) (proper# isNePal X -> proper# X, proper# U23 X -> U23# proper X) (proper# isNePal X -> proper# X, proper# U21(X1, X2, X3) -> proper# X3) (proper# isNePal X -> proper# X, proper# U21(X1, X2, X3) -> proper# X2) (proper# isNePal X -> proper# X, proper# U21(X1, X2, X3) -> proper# X1) (proper# isNePal X -> proper# X, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# isNePal X -> proper# X, proper# isList X -> proper# X) (proper# isNePal X -> proper# X, proper# isList X -> isList# proper X) (proper# isNePal X -> proper# X, proper# U22(X1, X2) -> proper# X2) (proper# isNePal X -> proper# X, proper# U22(X1, X2) -> proper# X1) (proper# isNePal X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# isNePal X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNePal X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNePal X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNePal X -> proper# X, proper# isNeList X -> proper# X) (proper# isNePal X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# isNePal X -> proper# X, proper# U12 X -> proper# X) (proper# isNePal X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNePal X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# isNePal X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# isNePal X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# isPal X -> proper# X, proper# isPal X -> proper# X) (proper# isPal X -> proper# X, proper# isPal X -> isPal# proper X) (proper# isPal X -> proper# X, proper# isPalListKind X -> proper# X) (proper# isPal X -> proper# X, proper# isPalListKind X -> isPalListKind# proper X) (proper# isPal X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isPal X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isPal X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isPal X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# isPal X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# isPal X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# isPal X -> proper# X, proper# isNePal X -> proper# X) (proper# isPal X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# isPal X -> proper# X, proper# U72 X -> proper# X) (proper# isPal X -> proper# X, proper# U72 X -> U72# proper X) (proper# isPal X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isPal X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isPal X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isPal X -> proper# X, proper# U62 X -> proper# X) (proper# isPal X -> proper# X, proper# U62 X -> U62# proper X) (proper# isPal X -> proper# X, proper# U53 X -> proper# X) (proper# isPal X -> proper# X, proper# U53 X -> U53# proper X) (proper# isPal X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isPal X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isPal X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isPal X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isPal X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isPal X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isPal X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isPal X -> proper# X, proper# U43 X -> proper# X) (proper# isPal X -> proper# X, proper# U43 X -> U43# proper X) (proper# isPal X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isPal X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isPal X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isPal X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isPal X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isPal X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isPal X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isPal X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isPal X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isPal X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isPal X -> proper# X, proper# isQid X -> proper# X) (proper# isPal X -> proper# X, proper# isQid X -> isQid# proper X) (proper# isPal X -> proper# X, proper# U32 X -> proper# X) (proper# isPal X -> proper# X, proper# U32 X -> U32# proper X) (proper# isPal X -> proper# X, proper# U23 X -> proper# X) (proper# isPal X -> proper# X, proper# U23 X -> U23# proper X) (proper# isPal X -> proper# X, proper# U21(X1, X2, X3) -> proper# X3) (proper# isPal X -> proper# X, proper# U21(X1, X2, X3) -> proper# X2) (proper# isPal X -> proper# X, proper# U21(X1, X2, X3) -> proper# X1) (proper# isPal X -> proper# X, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# isPal X -> proper# X, proper# isList X -> proper# X) (proper# isPal X -> proper# X, proper# isList X -> isList# proper X) (proper# isPal X -> proper# X, proper# U22(X1, X2) -> proper# X2) (proper# isPal X -> proper# X, proper# U22(X1, X2) -> proper# X1) (proper# isPal X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# isPal X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isPal X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isPal X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isPal X -> proper# X, proper# isNeList X -> proper# X) (proper# isPal X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# isPal X -> proper# X, proper# U12 X -> proper# X) (proper# isPal X -> proper# X, proper# U12 X -> U12# proper X) (proper# isPal X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# isPal X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# isPal X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (top# ok X -> active# X, active# isPal V -> isPalListKind# V) (top# ok X -> active# X, active# isPal V -> U71#(isPalListKind V, V)) (top# ok X -> active# X, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (top# ok X -> active# X, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (top# ok X -> active# X, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (top# ok X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (top# ok X -> active# X, active# and(X1, X2) -> active# X1) (top# ok X -> active# X, active# U71(tt(), V) -> isNePal# V) (top# ok X -> active# X, active# U71(tt(), V) -> U72# isNePal V) (top# ok X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (top# ok X -> active# X, active# U71(X1, X2) -> active# X1) (top# ok X -> active# X, active# isNePal __(I, __(P, I)) -> isPal# P) (top# ok X -> active# X, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (top# ok X -> active# X, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (top# ok X -> active# X, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (top# ok X -> active# X, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (top# ok X -> active# X, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (top# ok X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (top# ok X -> active# X, active# isNePal V -> isPalListKind# V) (top# ok X -> active# X, active# isNePal V -> U61#(isPalListKind V, V)) (top# ok X -> active# X, active# U72 X -> U72# active X) (top# ok X -> active# X, active# U72 X -> active# X) (top# ok X -> active# X, active# U61(tt(), V) -> U62# isQid V) (top# ok X -> active# X, active# U61(tt(), V) -> isQid# V) (top# ok X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (top# ok X -> active# X, active# U61(X1, X2) -> active# X1) (top# ok X -> active# X, active# U62 X -> U62# active X) (top# ok X -> active# X, active# U62 X -> active# X) (top# ok X -> active# X, active# U53 X -> U53# active X) (top# ok X -> active# X, active# U53 X -> active# X) (top# ok X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (top# ok X -> active# X, active# U51(tt(), V1, V2) -> isNeList# V1) (top# ok X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (top# ok X -> active# X, active# U51(X1, X2, X3) -> active# X1) (top# ok X -> active# X, active# U52(tt(), V2) -> U53# isList V2) (top# ok X -> active# X, active# U52(tt(), V2) -> isList# V2) (top# ok X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (top# ok X -> active# X, active# U52(X1, X2) -> active# X1) (top# ok X -> active# X, active# U43 X -> U43# active X) (top# ok X -> active# X, active# U43 X -> active# X) (top# ok X -> active# X, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (top# ok X -> active# X, active# U41(tt(), V1, V2) -> isList# V1) (top# ok X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (top# ok X -> active# X, active# U41(X1, X2, X3) -> active# X1) (top# ok X -> active# X, active# U42(tt(), V2) -> U43# isNeList V2) (top# ok X -> active# X, active# U42(tt(), V2) -> isNeList# V2) (top# ok X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (top# ok X -> active# X, active# U42(X1, X2) -> active# X1) (top# ok X -> active# X, active# U31(tt(), V) -> isQid# V) (top# ok X -> active# X, active# U31(tt(), V) -> U32# isQid V) (top# ok X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (top# ok X -> active# X, active# U31(X1, X2) -> active# X1) (top# ok X -> active# X, active# U32 X -> U32# active X) (top# ok X -> active# X, active# U32 X -> active# X) (top# ok X -> active# X, active# U23 X -> U23# active X) (top# ok X -> active# X, active# U23 X -> active# X) (top# ok X -> active# X, active# U21(tt(), V1, V2) -> isList# V1) (top# ok X -> active# X, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (top# ok X -> active# X, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (top# ok X -> active# X, active# U21(X1, X2, X3) -> active# X1) (top# ok X -> active# X, active# isList __(V1, V2) -> isPalListKind# V2) (top# ok X -> active# X, active# isList __(V1, V2) -> isPalListKind# V1) (top# ok X -> active# X, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (top# ok X -> active# X, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (top# ok X -> active# X, active# isList V -> isPalListKind# V) (top# ok X -> active# X, active# isList V -> U11#(isPalListKind V, V)) (top# ok X -> active# X, active# U22(tt(), V2) -> U23# isList V2) (top# ok X -> active# X, active# U22(tt(), V2) -> isList# V2) (top# ok X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2)) (top# ok X -> active# X, active# U22(X1, X2) -> active# X1) (top# ok X -> active# X, active# U11(tt(), V) -> isNeList# V) (top# ok X -> active# X, active# U11(tt(), V) -> U12# isNeList V) (top# ok X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (top# ok X -> active# X, active# U11(X1, X2) -> active# X1) (top# ok X -> active# X, active# isNeList __(V1, V2) -> isPalListKind# V2) (top# ok X -> active# X, active# isNeList __(V1, V2) -> isPalListKind# V1) (top# ok X -> active# X, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (top# ok X -> active# X, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (top# ok X -> active# X, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (top# ok X -> active# X, active# isNeList V -> isPalListKind# V) (top# ok X -> active# X, active# isNeList V -> U31#(isPalListKind V, V)) (top# ok X -> active# X, active# U12 X -> U12# active X) (top# ok X -> active# X, active# U12 X -> active# X) (top# ok X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (top# ok X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (top# ok X -> active# X, active# __(X1, X2) -> active# X2) (top# ok X -> active# X, active# __(X1, X2) -> active# X1) (top# ok X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (top# ok X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (active# U21(tt(), V1, V2) -> U22#(isList V1, V2), U22#(ok X1, ok X2) -> U22#(X1, X2)) (active# U21(tt(), V1, V2) -> U22#(isList V1, V2), U22#(mark X1, X2) -> U22#(X1, X2)) (active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2), U52#(mark X1, X2) -> U52#(X1, X2)) (active# __(__(X, Y), Z) -> __#(X, __(Y, Z)), __#(X1, mark X2) -> __#(X1, X2)) (active# __(__(X, Y), Z) -> __#(X, __(Y, Z)), __#(mark X1, X2) -> __#(X1, X2)) (active# __(__(X, Y), Z) -> __#(X, __(Y, Z)), __#(ok X1, ok X2) -> __#(X1, X2)) (active# U41(tt(), V1, V2) -> U42#(isList V1, V2), U42#(mark X1, X2) -> U42#(X1, X2)) (active# U41(tt(), V1, V2) -> U42#(isList V1, V2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), and#(mark X1, X2) -> and#(X1, X2)) (active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), and#(ok X1, ok X2) -> and#(X1, X2)) (top# mark X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (top# mark X -> proper# X, proper# __(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# __(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U12 X -> U12# proper X) (top# mark X -> proper# X, proper# U12 X -> proper# X) (top# mark X -> proper# X, proper# isNeList X -> isNeList# proper X) (top# mark X -> proper# X, proper# isNeList X -> proper# X) (top# mark X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U11(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U11(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U22(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U22(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# isList X -> isList# proper X) (top# mark X -> proper# X, proper# isList X -> proper# X) (top# mark X -> proper# X, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (top# mark X -> proper# X, proper# U21(X1, X2, X3) -> proper# X1) (top# mark X -> proper# X, proper# U21(X1, X2, X3) -> proper# X2) (top# mark X -> proper# X, proper# U21(X1, X2, X3) -> proper# X3) (top# mark X -> proper# X, proper# U23 X -> U23# proper X) (top# mark X -> proper# X, proper# U23 X -> proper# X) (top# mark X -> proper# X, proper# U32 X -> U32# proper X) (top# mark X -> proper# X, proper# U32 X -> proper# X) (top# mark X -> proper# X, proper# isQid X -> isQid# proper X) (top# mark X -> proper# X, proper# isQid X -> proper# X) (top# mark X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U31(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U31(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U42(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U42(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (top# mark X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (top# mark X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (top# mark X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (top# mark X -> proper# X, proper# U43 X -> U43# proper X) (top# mark X -> proper# X, proper# U43 X -> proper# X) (top# mark X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U52(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U52(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (top# mark X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (top# mark X -> proper# X, proper# U53 X -> U53# proper X) (top# mark X -> proper# X, proper# U53 X -> proper# X) (top# mark X -> proper# X, proper# U62 X -> U62# proper X) (top# mark X -> proper# X, proper# U62 X -> proper# X) (top# mark X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U61(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U61(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U72 X -> U72# proper X) (top# mark X -> proper# X, proper# U72 X -> proper# X) (top# mark X -> proper# X, proper# isNePal X -> isNePal# proper X) (top# mark X -> proper# X, proper# isNePal X -> proper# X) (top# mark X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U71(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U71(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (top# mark X -> proper# X, proper# and(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# and(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# isPalListKind X -> isPalListKind# proper X) (top# mark X -> proper# X, proper# isPalListKind X -> proper# X) (top# mark X -> proper# X, proper# isPal X -> isPal# proper X) (top# mark X -> proper# X, proper# isPal X -> proper# X) (proper# isPalListKind X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# isPalListKind X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# isPalListKind X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# isPalListKind X -> proper# X, proper# U12 X -> U12# proper X) (proper# isPalListKind X -> proper# X, proper# U12 X -> proper# X) (proper# isPalListKind X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# isPalListKind X -> proper# X, proper# isNeList X -> proper# X) (proper# isPalListKind X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isPalListKind X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isPalListKind X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isPalListKind X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# isPalListKind X -> proper# X, proper# U22(X1, X2) -> proper# X1) (proper# isPalListKind X -> proper# X, proper# U22(X1, X2) -> proper# X2) (proper# isPalListKind X -> proper# X, proper# isList X -> isList# proper X) (proper# isPalListKind X -> proper# X, proper# isList X -> proper# X) (proper# isPalListKind X -> proper# X, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# isPalListKind X -> proper# X, proper# U21(X1, X2, X3) -> proper# X1) (proper# isPalListKind X -> proper# X, proper# U21(X1, X2, X3) -> proper# X2) (proper# isPalListKind X -> proper# X, proper# U21(X1, X2, X3) -> proper# X3) (proper# isPalListKind X -> proper# X, proper# U23 X -> U23# proper X) (proper# isPalListKind X -> proper# X, proper# U23 X -> proper# X) (proper# isPalListKind X -> proper# X, proper# U32 X -> U32# proper X) (proper# isPalListKind X -> proper# X, proper# U32 X -> proper# X) (proper# isPalListKind X -> proper# X, proper# isQid X -> isQid# proper X) (proper# isPalListKind X -> proper# X, proper# isQid X -> proper# X) (proper# isPalListKind X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isPalListKind X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isPalListKind X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isPalListKind X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isPalListKind X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isPalListKind X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isPalListKind X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isPalListKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isPalListKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isPalListKind X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isPalListKind X -> proper# X, proper# U43 X -> U43# proper X) (proper# isPalListKind X -> proper# X, proper# U43 X -> proper# X) (proper# isPalListKind X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isPalListKind X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isPalListKind X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isPalListKind X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isPalListKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isPalListKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isPalListKind X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isPalListKind X -> proper# X, proper# U53 X -> U53# proper X) (proper# isPalListKind X -> proper# X, proper# U53 X -> proper# X) (proper# isPalListKind X -> proper# X, proper# U62 X -> U62# proper X) (proper# isPalListKind X -> proper# X, proper# U62 X -> proper# X) (proper# isPalListKind X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isPalListKind X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isPalListKind X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isPalListKind X -> proper# X, proper# U72 X -> U72# proper X) (proper# isPalListKind X -> proper# X, proper# U72 X -> proper# X) (proper# isPalListKind X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# isPalListKind X -> proper# X, proper# isNePal X -> proper# X) (proper# isPalListKind X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# isPalListKind X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# isPalListKind X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# isPalListKind X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isPalListKind X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isPalListKind X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isPalListKind X -> proper# X, proper# isPalListKind X -> isPalListKind# proper X) (proper# isPalListKind X -> proper# X, proper# isPalListKind X -> proper# X) (proper# isPalListKind X -> proper# X, proper# isPal X -> isPal# proper X) (proper# isPalListKind X -> proper# X, proper# isPal X -> proper# X) (proper# U72 X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U72 X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# U72 X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# U72 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U72 X -> proper# X, proper# U12 X -> proper# X) (proper# U72 X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# U72 X -> proper# X, proper# isNeList X -> proper# X) (proper# U72 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U72 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U72 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U72 X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U72 X -> proper# X, proper# U22(X1, X2) -> proper# X1) (proper# U72 X -> proper# X, proper# U22(X1, X2) -> proper# X2) (proper# U72 X -> proper# X, proper# isList X -> isList# proper X) (proper# U72 X -> proper# X, proper# isList X -> proper# X) (proper# U72 X -> proper# X, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U72 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X1) (proper# U72 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X2) (proper# U72 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X3) (proper# U72 X -> proper# X, proper# U23 X -> U23# proper X) (proper# U72 X -> proper# X, proper# U23 X -> proper# X) (proper# U72 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U72 X -> proper# X, proper# U32 X -> proper# X) (proper# U72 X -> proper# X, proper# isQid X -> isQid# proper X) (proper# U72 X -> proper# X, proper# isQid X -> proper# X) (proper# U72 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U72 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U72 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U72 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U72 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U72 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U72 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U72 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U72 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U72 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U72 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U72 X -> proper# X, proper# U43 X -> proper# X) (proper# U72 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U72 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U72 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U72 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U72 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U72 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U72 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U72 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U72 X -> proper# X, proper# U53 X -> proper# X) (proper# U72 X -> proper# X, proper# U62 X -> U62# proper X) (proper# U72 X -> proper# X, proper# U62 X -> proper# X) (proper# U72 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U72 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U72 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U72 X -> proper# X, proper# U72 X -> U72# proper X) (proper# U72 X -> proper# X, proper# U72 X -> proper# X) (proper# U72 X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# U72 X -> proper# X, proper# isNePal X -> proper# X) (proper# U72 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U72 X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# U72 X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# U72 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U72 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U72 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U72 X -> proper# X, proper# isPalListKind X -> isPalListKind# proper X) (proper# U72 X -> proper# X, proper# isPalListKind X -> proper# X) (proper# U72 X -> proper# X, proper# isPal X -> isPal# proper X) (proper# U72 X -> proper# X, proper# isPal X -> proper# X) (proper# U53 X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U53 X -> proper# X, proper# U12 X -> proper# X) (proper# U53 X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# U53 X -> proper# X, proper# isNeList X -> proper# X) (proper# U53 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# U22(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U22(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# isList X -> isList# proper X) (proper# U53 X -> proper# X, proper# isList X -> proper# X) (proper# U53 X -> proper# X, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U53 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X1) (proper# U53 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X2) (proper# U53 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X3) (proper# U53 X -> proper# X, proper# U23 X -> U23# proper X) (proper# U53 X -> proper# X, proper# U23 X -> proper# X) (proper# U53 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U53 X -> proper# X, proper# U32 X -> proper# X) (proper# U53 X -> proper# X, proper# isQid X -> isQid# proper X) (proper# U53 X -> proper# X, proper# isQid X -> proper# X) (proper# U53 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U53 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U53 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U53 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U53 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U53 X -> proper# X, proper# U43 X -> proper# X) (proper# U53 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U53 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U53 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U53 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U53 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U53 X -> proper# X, proper# U53 X -> proper# X) (proper# U53 X -> proper# X, proper# U62 X -> U62# proper X) (proper# U53 X -> proper# X, proper# U62 X -> proper# X) (proper# U53 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# U72 X -> U72# proper X) (proper# U53 X -> proper# X, proper# U72 X -> proper# X) (proper# U53 X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# U53 X -> proper# X, proper# isNePal X -> proper# X) (proper# U53 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U53 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U53 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U53 X -> proper# X, proper# isPalListKind X -> isPalListKind# proper X) (proper# U53 X -> proper# X, proper# isPalListKind X -> proper# X) (proper# U53 X -> proper# X, proper# isPal X -> isPal# proper X) (proper# U53 X -> proper# X, proper# isPal X -> proper# X) (proper# isQid X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# isQid X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# isQid X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# isQid X -> proper# X, proper# U12 X -> U12# proper X) (proper# isQid X -> proper# X, proper# U12 X -> proper# X) (proper# isQid X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# isQid X -> proper# X, proper# isNeList X -> proper# X) (proper# isQid X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isQid X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isQid X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isQid X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# isQid X -> proper# X, proper# U22(X1, X2) -> proper# X1) (proper# isQid X -> proper# X, proper# U22(X1, X2) -> proper# X2) (proper# isQid X -> proper# X, proper# isList X -> isList# proper X) (proper# isQid X -> proper# X, proper# isList X -> proper# X) (proper# isQid X -> proper# X, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# isQid X -> proper# X, proper# U21(X1, X2, X3) -> proper# X1) (proper# isQid X -> proper# X, proper# U21(X1, X2, X3) -> proper# X2) (proper# isQid X -> proper# X, proper# U21(X1, X2, X3) -> proper# X3) (proper# isQid X -> proper# X, proper# U23 X -> U23# proper X) (proper# isQid X -> proper# X, proper# U23 X -> proper# X) (proper# isQid X -> proper# X, proper# U32 X -> U32# proper X) (proper# isQid X -> proper# X, proper# U32 X -> proper# X) (proper# isQid X -> proper# X, proper# isQid X -> isQid# proper X) (proper# isQid X -> proper# X, proper# isQid X -> proper# X) (proper# isQid X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isQid X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isQid X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isQid X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isQid X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isQid X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isQid X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isQid X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isQid X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isQid X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isQid X -> proper# X, proper# U43 X -> U43# proper X) (proper# isQid X -> proper# X, proper# U43 X -> proper# X) (proper# isQid X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isQid X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isQid X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isQid X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isQid X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isQid X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isQid X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isQid X -> proper# X, proper# U53 X -> U53# proper X) (proper# isQid X -> proper# X, proper# U53 X -> proper# X) (proper# isQid X -> proper# X, proper# U62 X -> U62# proper X) (proper# isQid X -> proper# X, proper# U62 X -> proper# X) (proper# isQid X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isQid X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isQid X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isQid X -> proper# X, proper# U72 X -> U72# proper X) (proper# isQid X -> proper# X, proper# U72 X -> proper# X) (proper# isQid X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# isQid X -> proper# X, proper# isNePal X -> proper# X) (proper# isQid X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# isQid X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# isQid X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# isQid X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isQid X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isQid X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isQid X -> proper# X, proper# isPalListKind X -> isPalListKind# proper X) (proper# isQid X -> proper# X, proper# isPalListKind X -> proper# X) (proper# isQid X -> proper# X, proper# isPal X -> isPal# proper X) (proper# isQid X -> proper# X, proper# isPal X -> proper# X) (proper# U23 X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U23 X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# U23 X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# U23 X -> proper# X, proper# U12 X -> U12# proper X) (proper# U23 X -> proper# X, proper# U12 X -> proper# X) (proper# U23 X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# U23 X -> proper# X, proper# isNeList X -> proper# X) (proper# U23 X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U23 X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# U23 X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# U23 X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U23 X -> proper# X, proper# U22(X1, X2) -> proper# X1) (proper# U23 X -> proper# X, proper# U22(X1, X2) -> proper# X2) (proper# U23 X -> proper# X, proper# isList X -> isList# proper X) (proper# U23 X -> proper# X, proper# isList X -> proper# X) (proper# U23 X -> proper# X, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U23 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X1) (proper# U23 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X2) (proper# U23 X -> proper# X, proper# U21(X1, X2, X3) -> proper# X3) (proper# U23 X -> proper# X, proper# U23 X -> U23# proper X) (proper# U23 X -> proper# X, proper# U23 X -> proper# X) (proper# U23 X -> proper# X, proper# U32 X -> U32# proper X) (proper# U23 X -> proper# X, proper# U32 X -> proper# X) (proper# U23 X -> proper# X, proper# isQid X -> isQid# proper X) (proper# U23 X -> proper# X, proper# isQid X -> proper# X) (proper# U23 X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U23 X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# U23 X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# U23 X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U23 X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# U23 X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# U23 X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U23 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# U23 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# U23 X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# U23 X -> proper# X, proper# U43 X -> U43# proper X) (proper# U23 X -> proper# X, proper# U43 X -> proper# X) (proper# U23 X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U23 X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# U23 X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# U23 X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U23 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# U23 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# U23 X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# U23 X -> proper# X, proper# U53 X -> U53# proper X) (proper# U23 X -> proper# X, proper# U53 X -> proper# X) (proper# U23 X -> proper# X, proper# U62 X -> U62# proper X) (proper# U23 X -> proper# X, proper# U62 X -> proper# X) (proper# U23 X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U23 X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# U23 X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# U23 X -> proper# X, proper# U72 X -> U72# proper X) (proper# U23 X -> proper# X, proper# U72 X -> proper# X) (proper# U23 X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# U23 X -> proper# X, proper# isNePal X -> proper# X) (proper# U23 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U23 X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# U23 X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# U23 X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U23 X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# U23 X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# U23 X -> proper# X, proper# isPalListKind X -> isPalListKind# proper X) (proper# U23 X -> proper# X, proper# isPalListKind X -> proper# X) (proper# U23 X -> proper# X, proper# isPal X -> isPal# proper X) (proper# U23 X -> proper# X, proper# isPal X -> proper# X) (proper# isNeList X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# isNeList X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# isNeList X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# isNeList X -> proper# X, proper# U12 X -> U12# proper X) (proper# isNeList X -> proper# X, proper# U12 X -> proper# X) (proper# isNeList X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# isNeList X -> proper# X, proper# isNeList X -> proper# X) (proper# isNeList X -> proper# X, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# isNeList X -> proper# X, proper# U11(X1, X2) -> proper# X1) (proper# isNeList X -> proper# X, proper# U11(X1, X2) -> proper# X2) (proper# isNeList X -> proper# X, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# isNeList X -> proper# X, proper# U22(X1, X2) -> proper# X1) (proper# isNeList X -> proper# X, proper# U22(X1, X2) -> proper# X2) (proper# isNeList X -> proper# X, proper# isList X -> isList# proper X) (proper# isNeList X -> proper# X, proper# isList X -> proper# X) (proper# isNeList X -> proper# X, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# isNeList X -> proper# X, proper# U21(X1, X2, X3) -> proper# X1) (proper# isNeList X -> proper# X, proper# U21(X1, X2, X3) -> proper# X2) (proper# isNeList X -> proper# X, proper# U21(X1, X2, X3) -> proper# X3) (proper# isNeList X -> proper# X, proper# U23 X -> U23# proper X) (proper# isNeList X -> proper# X, proper# U23 X -> proper# X) (proper# isNeList X -> proper# X, proper# U32 X -> U32# proper X) (proper# isNeList X -> proper# X, proper# U32 X -> proper# X) (proper# isNeList X -> proper# X, proper# isQid X -> isQid# proper X) (proper# isNeList X -> proper# X, proper# isQid X -> proper# X) (proper# isNeList X -> proper# X, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# isNeList X -> proper# X, proper# U31(X1, X2) -> proper# X1) (proper# isNeList X -> proper# X, proper# U31(X1, X2) -> proper# X2) (proper# isNeList X -> proper# X, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# isNeList X -> proper# X, proper# U42(X1, X2) -> proper# X1) (proper# isNeList X -> proper# X, proper# U42(X1, X2) -> proper# X2) (proper# isNeList X -> proper# X, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# isNeList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X1) (proper# isNeList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X2) (proper# isNeList X -> proper# X, proper# U41(X1, X2, X3) -> proper# X3) (proper# isNeList X -> proper# X, proper# U43 X -> U43# proper X) (proper# isNeList X -> proper# X, proper# U43 X -> proper# X) (proper# isNeList X -> proper# X, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# isNeList X -> proper# X, proper# U52(X1, X2) -> proper# X1) (proper# isNeList X -> proper# X, proper# U52(X1, X2) -> proper# X2) (proper# isNeList X -> proper# X, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# isNeList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X1) (proper# isNeList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X2) (proper# isNeList X -> proper# X, proper# U51(X1, X2, X3) -> proper# X3) (proper# isNeList X -> proper# X, proper# U53 X -> U53# proper X) (proper# isNeList X -> proper# X, proper# U53 X -> proper# X) (proper# isNeList X -> proper# X, proper# U62 X -> U62# proper X) (proper# isNeList X -> proper# X, proper# U62 X -> proper# X) (proper# isNeList X -> proper# X, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# isNeList X -> proper# X, proper# U61(X1, X2) -> proper# X1) (proper# isNeList X -> proper# X, proper# U61(X1, X2) -> proper# X2) (proper# isNeList X -> proper# X, proper# U72 X -> U72# proper X) (proper# isNeList X -> proper# X, proper# U72 X -> proper# X) (proper# isNeList X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# isNeList X -> proper# X, proper# isNePal X -> proper# X) (proper# isNeList X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# isNeList X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# isNeList X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# isNeList X -> proper# X, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# isNeList X -> proper# X, proper# and(X1, X2) -> proper# X1) (proper# isNeList X -> proper# X, proper# and(X1, X2) -> proper# X2) (proper# isNeList X -> proper# X, proper# isPalListKind X -> isPalListKind# proper X) (proper# isNeList X -> proper# X, proper# isPalListKind X -> proper# X) (proper# isNeList X -> proper# X, proper# isPal X -> isPal# proper X) (proper# isNeList X -> proper# X, proper# isPal X -> proper# X) (isPal# ok X -> isPal# X, isPal# ok X -> isPal# X) (isNePal# ok X -> isNePal# X, isNePal# ok X -> isNePal# X) (U72# mark X -> U72# X, U72# mark X -> U72# X) (U72# mark X -> U72# X, U72# ok X -> U72# X) (U62# mark X -> U62# X, U62# mark X -> U62# X) (U62# mark X -> U62# X, U62# ok X -> U62# X) (U53# mark X -> U53# X, U53# mark X -> U53# X) (U53# mark X -> U53# X, U53# ok X -> U53# X) (U43# mark X -> U43# X, U43# mark X -> U43# X) (U43# mark X -> U43# X, U43# ok X -> U43# X) (U32# ok X -> U32# X, U32# mark X -> U32# X) (U32# ok X -> U32# X, U32# ok X -> U32# X) (U23# ok X -> U23# X, U23# mark X -> U23# X) (U23# ok X -> U23# X, U23# ok X -> U23# X) (isList# ok X -> isList# X, isList# ok X -> isList# X) (U12# ok X -> U12# X, U12# mark X -> U12# X) (U12# ok X -> U12# X, U12# ok X -> U12# X) (active# U72 X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (active# U72 X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (active# U72 X -> active# X, active# __(X1, X2) -> active# X1) (active# U72 X -> active# X, active# __(X1, X2) -> active# X2) (active# U72 X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U72 X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U72 X -> active# X, active# U12 X -> active# X) (active# U72 X -> active# X, active# U12 X -> U12# active X) (active# U72 X -> active# X, active# isNeList V -> U31#(isPalListKind V, V)) (active# U72 X -> active# X, active# isNeList V -> isPalListKind# V) (active# U72 X -> active# X, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U72 X -> active# X, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U72 X -> active# X, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U72 X -> active# X, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U72 X -> active# X, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U72 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U72 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U72 X -> active# X, active# U11(tt(), V) -> U12# isNeList V) (active# U72 X -> active# X, active# U11(tt(), V) -> isNeList# V) (active# U72 X -> active# X, active# U22(X1, X2) -> active# X1) (active# U72 X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U72 X -> active# X, active# U22(tt(), V2) -> isList# V2) (active# U72 X -> active# X, active# U22(tt(), V2) -> U23# isList V2) (active# U72 X -> active# X, active# isList V -> U11#(isPalListKind V, V)) (active# U72 X -> active# X, active# isList V -> isPalListKind# V) (active# U72 X -> active# X, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U72 X -> active# X, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U72 X -> active# X, active# isList __(V1, V2) -> isPalListKind# V1) (active# U72 X -> active# X, active# isList __(V1, V2) -> isPalListKind# V2) (active# U72 X -> active# X, active# U21(X1, X2, X3) -> active# X1) (active# U72 X -> active# X, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U72 X -> active# X, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U72 X -> active# X, active# U21(tt(), V1, V2) -> isList# V1) (active# U72 X -> active# X, active# U23 X -> active# X) (active# U72 X -> active# X, active# U23 X -> U23# active X) (active# U72 X -> active# X, active# U32 X -> active# X) (active# U72 X -> active# X, active# U32 X -> U32# active X) (active# U72 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U72 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U72 X -> active# X, active# U31(tt(), V) -> U32# isQid V) (active# U72 X -> active# X, active# U31(tt(), V) -> isQid# V) (active# U72 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U72 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U72 X -> active# X, active# U42(tt(), V2) -> isNeList# V2) (active# U72 X -> active# X, active# U42(tt(), V2) -> U43# isNeList V2) (active# U72 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U72 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U72 X -> active# X, active# U41(tt(), V1, V2) -> isList# V1) (active# U72 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U72 X -> active# X, active# U43 X -> active# X) (active# U72 X -> active# X, active# U43 X -> U43# active X) (active# U72 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U72 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U72 X -> active# X, active# U52(tt(), V2) -> isList# V2) (active# U72 X -> active# X, active# U52(tt(), V2) -> U53# isList V2) (active# U72 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U72 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U72 X -> active# X, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U72 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U72 X -> active# X, active# U53 X -> active# X) (active# U72 X -> active# X, active# U53 X -> U53# active X) (active# U72 X -> active# X, active# U62 X -> active# X) (active# U72 X -> active# X, active# U62 X -> U62# active X) (active# U72 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U72 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U72 X -> active# X, active# U61(tt(), V) -> isQid# V) (active# U72 X -> active# X, active# U61(tt(), V) -> U62# isQid V) (active# U72 X -> active# X, active# U72 X -> active# X) (active# U72 X -> active# X, active# U72 X -> U72# active X) (active# U72 X -> active# X, active# isNePal V -> U61#(isPalListKind V, V)) (active# U72 X -> active# X, active# isNePal V -> isPalListKind# V) (active# U72 X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U72 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U72 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U72 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U72 X -> active# X, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U72 X -> active# X, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U72 X -> active# X, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U72 X -> active# X, active# U71(X1, X2) -> active# X1) (active# U72 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U72 X -> active# X, active# U71(tt(), V) -> U72# isNePal V) (active# U72 X -> active# X, active# U71(tt(), V) -> isNePal# V) (active# U72 X -> active# X, active# and(X1, X2) -> active# X1) (active# U72 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U72 X -> active# X, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U72 X -> active# X, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U72 X -> active# X, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U72 X -> active# X, active# isPal V -> U71#(isPalListKind V, V)) (active# U72 X -> active# X, active# isPal V -> isPalListKind# V) (active# U53 X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (active# U53 X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (active# U53 X -> active# X, active# __(X1, X2) -> active# X1) (active# U53 X -> active# X, active# __(X1, X2) -> active# X2) (active# U53 X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U53 X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U53 X -> active# X, active# U12 X -> active# X) (active# U53 X -> active# X, active# U12 X -> U12# active X) (active# U53 X -> active# X, active# isNeList V -> U31#(isPalListKind V, V)) (active# U53 X -> active# X, active# isNeList V -> isPalListKind# V) (active# U53 X -> active# X, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U53 X -> active# X, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U53 X -> active# X, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U53 X -> active# X, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U53 X -> active# X, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U53 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U53 X -> active# X, active# U11(tt(), V) -> U12# isNeList V) (active# U53 X -> active# X, active# U11(tt(), V) -> isNeList# V) (active# U53 X -> active# X, active# U22(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U53 X -> active# X, active# U22(tt(), V2) -> isList# V2) (active# U53 X -> active# X, active# U22(tt(), V2) -> U23# isList V2) (active# U53 X -> active# X, active# isList V -> U11#(isPalListKind V, V)) (active# U53 X -> active# X, active# isList V -> isPalListKind# V) (active# U53 X -> active# X, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U53 X -> active# X, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U53 X -> active# X, active# isList __(V1, V2) -> isPalListKind# V1) (active# U53 X -> active# X, active# isList __(V1, V2) -> isPalListKind# V2) (active# U53 X -> active# X, active# U21(X1, X2, X3) -> active# X1) (active# U53 X -> active# X, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U53 X -> active# X, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U53 X -> active# X, active# U21(tt(), V1, V2) -> isList# V1) (active# U53 X -> active# X, active# U23 X -> active# X) (active# U53 X -> active# X, active# U23 X -> U23# active X) (active# U53 X -> active# X, active# U32 X -> active# X) (active# U53 X -> active# X, active# U32 X -> U32# active X) (active# U53 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U53 X -> active# X, active# U31(tt(), V) -> U32# isQid V) (active# U53 X -> active# X, active# U31(tt(), V) -> isQid# V) (active# U53 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U53 X -> active# X, active# U42(tt(), V2) -> isNeList# V2) (active# U53 X -> active# X, active# U42(tt(), V2) -> U43# isNeList V2) (active# U53 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U53 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U53 X -> active# X, active# U41(tt(), V1, V2) -> isList# V1) (active# U53 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U53 X -> active# X, active# U43 X -> active# X) (active# U53 X -> active# X, active# U43 X -> U43# active X) (active# U53 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U53 X -> active# X, active# U52(tt(), V2) -> isList# V2) (active# U53 X -> active# X, active# U52(tt(), V2) -> U53# isList V2) (active# U53 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U53 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U53 X -> active# X, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U53 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U53 X -> active# X, active# U53 X -> active# X) (active# U53 X -> active# X, active# U53 X -> U53# active X) (active# U53 X -> active# X, active# U62 X -> active# X) (active# U53 X -> active# X, active# U62 X -> U62# active X) (active# U53 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U53 X -> active# X, active# U61(tt(), V) -> isQid# V) (active# U53 X -> active# X, active# U61(tt(), V) -> U62# isQid V) (active# U53 X -> active# X, active# U72 X -> active# X) (active# U53 X -> active# X, active# U72 X -> U72# active X) (active# U53 X -> active# X, active# isNePal V -> U61#(isPalListKind V, V)) (active# U53 X -> active# X, active# isNePal V -> isPalListKind# V) (active# U53 X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U53 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U53 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U53 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U53 X -> active# X, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U53 X -> active# X, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U53 X -> active# X, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U53 X -> active# X, active# U71(X1, X2) -> active# X1) (active# U53 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U53 X -> active# X, active# U71(tt(), V) -> U72# isNePal V) (active# U53 X -> active# X, active# U71(tt(), V) -> isNePal# V) (active# U53 X -> active# X, active# and(X1, X2) -> active# X1) (active# U53 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U53 X -> active# X, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U53 X -> active# X, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U53 X -> active# X, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U53 X -> active# X, active# isPal V -> U71#(isPalListKind V, V)) (active# U53 X -> active# X, active# isPal V -> isPalListKind# V) (active# U32 X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (active# U32 X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (active# U32 X -> active# X, active# __(X1, X2) -> active# X1) (active# U32 X -> active# X, active# __(X1, X2) -> active# X2) (active# U32 X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U32 X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U32 X -> active# X, active# U12 X -> active# X) (active# U32 X -> active# X, active# U12 X -> U12# active X) (active# U32 X -> active# X, active# isNeList V -> U31#(isPalListKind V, V)) (active# U32 X -> active# X, active# isNeList V -> isPalListKind# V) (active# U32 X -> active# X, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U32 X -> active# X, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U32 X -> active# X, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U32 X -> active# X, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U32 X -> active# X, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U32 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U32 X -> active# X, active# U11(tt(), V) -> U12# isNeList V) (active# U32 X -> active# X, active# U11(tt(), V) -> isNeList# V) (active# U32 X -> active# X, active# U22(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U32 X -> active# X, active# U22(tt(), V2) -> isList# V2) (active# U32 X -> active# X, active# U22(tt(), V2) -> U23# isList V2) (active# U32 X -> active# X, active# isList V -> U11#(isPalListKind V, V)) (active# U32 X -> active# X, active# isList V -> isPalListKind# V) (active# U32 X -> active# X, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U32 X -> active# X, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U32 X -> active# X, active# isList __(V1, V2) -> isPalListKind# V1) (active# U32 X -> active# X, active# isList __(V1, V2) -> isPalListKind# V2) (active# U32 X -> active# X, active# U21(X1, X2, X3) -> active# X1) (active# U32 X -> active# X, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U32 X -> active# X, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U32 X -> active# X, active# U21(tt(), V1, V2) -> isList# V1) (active# U32 X -> active# X, active# U23 X -> active# X) (active# U32 X -> active# X, active# U23 X -> U23# active X) (active# U32 X -> active# X, active# U32 X -> active# X) (active# U32 X -> active# X, active# U32 X -> U32# active X) (active# U32 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U32 X -> active# X, active# U31(tt(), V) -> U32# isQid V) (active# U32 X -> active# X, active# U31(tt(), V) -> isQid# V) (active# U32 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U32 X -> active# X, active# U42(tt(), V2) -> isNeList# V2) (active# U32 X -> active# X, active# U42(tt(), V2) -> U43# isNeList V2) (active# U32 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U32 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U32 X -> active# X, active# U41(tt(), V1, V2) -> isList# V1) (active# U32 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U32 X -> active# X, active# U43 X -> active# X) (active# U32 X -> active# X, active# U43 X -> U43# active X) (active# U32 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U32 X -> active# X, active# U52(tt(), V2) -> isList# V2) (active# U32 X -> active# X, active# U52(tt(), V2) -> U53# isList V2) (active# U32 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U32 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U32 X -> active# X, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U32 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U32 X -> active# X, active# U53 X -> active# X) (active# U32 X -> active# X, active# U53 X -> U53# active X) (active# U32 X -> active# X, active# U62 X -> active# X) (active# U32 X -> active# X, active# U62 X -> U62# active X) (active# U32 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U32 X -> active# X, active# U61(tt(), V) -> isQid# V) (active# U32 X -> active# X, active# U61(tt(), V) -> U62# isQid V) (active# U32 X -> active# X, active# U72 X -> active# X) (active# U32 X -> active# X, active# U72 X -> U72# active X) (active# U32 X -> active# X, active# isNePal V -> U61#(isPalListKind V, V)) (active# U32 X -> active# X, active# isNePal V -> isPalListKind# V) (active# U32 X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U32 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U32 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U32 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U32 X -> active# X, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U32 X -> active# X, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U32 X -> active# X, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U32 X -> active# X, active# U71(X1, X2) -> active# X1) (active# U32 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U32 X -> active# X, active# U71(tt(), V) -> U72# isNePal V) (active# U32 X -> active# X, active# U71(tt(), V) -> isNePal# V) (active# U32 X -> active# X, active# and(X1, X2) -> active# X1) (active# U32 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U32 X -> active# X, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U32 X -> active# X, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U32 X -> active# X, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U32 X -> active# X, active# isPal V -> U71#(isPalListKind V, V)) (active# U32 X -> active# X, active# isPal V -> isPalListKind# V) (active# U12 X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (active# U12 X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (active# U12 X -> active# X, active# __(X1, X2) -> active# X1) (active# U12 X -> active# X, active# __(X1, X2) -> active# X2) (active# U12 X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U12 X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U12 X -> active# X, active# U12 X -> active# X) (active# U12 X -> active# X, active# U12 X -> U12# active X) (active# U12 X -> active# X, active# isNeList V -> U31#(isPalListKind V, V)) (active# U12 X -> active# X, active# isNeList V -> isPalListKind# V) (active# U12 X -> active# X, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U12 X -> active# X, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U12 X -> active# X, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U12 X -> active# X, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U12 X -> active# X, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U12 X -> active# X, active# U11(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U12 X -> active# X, active# U11(tt(), V) -> U12# isNeList V) (active# U12 X -> active# X, active# U11(tt(), V) -> isNeList# V) (active# U12 X -> active# X, active# U22(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U12 X -> active# X, active# U22(tt(), V2) -> isList# V2) (active# U12 X -> active# X, active# U22(tt(), V2) -> U23# isList V2) (active# U12 X -> active# X, active# isList V -> U11#(isPalListKind V, V)) (active# U12 X -> active# X, active# isList V -> isPalListKind# V) (active# U12 X -> active# X, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U12 X -> active# X, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U12 X -> active# X, active# isList __(V1, V2) -> isPalListKind# V1) (active# U12 X -> active# X, active# isList __(V1, V2) -> isPalListKind# V2) (active# U12 X -> active# X, active# U21(X1, X2, X3) -> active# X1) (active# U12 X -> active# X, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U12 X -> active# X, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U12 X -> active# X, active# U21(tt(), V1, V2) -> isList# V1) (active# U12 X -> active# X, active# U23 X -> active# X) (active# U12 X -> active# X, active# U23 X -> U23# active X) (active# U12 X -> active# X, active# U32 X -> active# X) (active# U12 X -> active# X, active# U32 X -> U32# active X) (active# U12 X -> active# X, active# U31(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U12 X -> active# X, active# U31(tt(), V) -> U32# isQid V) (active# U12 X -> active# X, active# U31(tt(), V) -> isQid# V) (active# U12 X -> active# X, active# U42(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U12 X -> active# X, active# U42(tt(), V2) -> isNeList# V2) (active# U12 X -> active# X, active# U42(tt(), V2) -> U43# isNeList V2) (active# U12 X -> active# X, active# U41(X1, X2, X3) -> active# X1) (active# U12 X -> active# X, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U12 X -> active# X, active# U41(tt(), V1, V2) -> isList# V1) (active# U12 X -> active# X, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U12 X -> active# X, active# U43 X -> active# X) (active# U12 X -> active# X, active# U43 X -> U43# active X) (active# U12 X -> active# X, active# U52(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U12 X -> active# X, active# U52(tt(), V2) -> isList# V2) (active# U12 X -> active# X, active# U52(tt(), V2) -> U53# isList V2) (active# U12 X -> active# X, active# U51(X1, X2, X3) -> active# X1) (active# U12 X -> active# X, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U12 X -> active# X, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U12 X -> active# X, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U12 X -> active# X, active# U53 X -> active# X) (active# U12 X -> active# X, active# U53 X -> U53# active X) (active# U12 X -> active# X, active# U62 X -> active# X) (active# U12 X -> active# X, active# U62 X -> U62# active X) (active# U12 X -> active# X, active# U61(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U12 X -> active# X, active# U61(tt(), V) -> isQid# V) (active# U12 X -> active# X, active# U61(tt(), V) -> U62# isQid V) (active# U12 X -> active# X, active# U72 X -> active# X) (active# U12 X -> active# X, active# U72 X -> U72# active X) (active# U12 X -> active# X, active# isNePal V -> U61#(isPalListKind V, V)) (active# U12 X -> active# X, active# isNePal V -> isPalListKind# V) (active# U12 X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U12 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U12 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U12 X -> active# X, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U12 X -> active# X, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U12 X -> active# X, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U12 X -> active# X, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U12 X -> active# X, active# U71(X1, X2) -> active# X1) (active# U12 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U12 X -> active# X, active# U71(tt(), V) -> U72# isNePal V) (active# U12 X -> active# X, active# U71(tt(), V) -> isNePal# V) (active# U12 X -> active# X, active# and(X1, X2) -> active# X1) (active# U12 X -> active# X, active# and(X1, X2) -> and#(active X1, X2)) (active# U12 X -> active# X, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U12 X -> active# X, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U12 X -> active# X, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U12 X -> active# X, active# isPal V -> U71#(isPalListKind V, V)) (active# U12 X -> active# X, active# isPal V -> isPalListKind# V) (active# isNePal __(I, __(P, I)) -> isQid# I, isQid# ok X -> isQid# X) (U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (U41#(mark X1, X2, X3) -> U41#(X1, X2, X3), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (U41#(mark X1, X2, X3) -> U41#(X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (U21#(mark X1, X2, X3) -> U21#(X1, X2, X3), U21#(mark X1, X2, X3) -> U21#(X1, X2, X3)) (U21#(mark X1, X2, X3) -> U21#(X1, X2, X3), U21#(ok X1, ok X2, ok X3) -> U21#(X1, X2, X3)) (active# U41(X1, X2, X3) -> U41#(active X1, X2, X3), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (active# U41(X1, X2, X3) -> U41#(active X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3), U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)) (proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)) (proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3), U21#(mark X1, X2, X3) -> U21#(X1, X2, X3)) (proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3), U21#(ok X1, ok X2, ok X3) -> U21#(X1, X2, X3)) (active# isNePal V -> U61#(isPalListKind V, V), U61#(mark X1, X2) -> U61#(X1, X2)) (active# isNePal V -> U61#(isPalListKind V, V), U61#(ok X1, ok X2) -> U61#(X1, X2)) (active# isNeList V -> U31#(isPalListKind V, V), U31#(mark X1, X2) -> U31#(X1, X2)) (active# isNeList V -> U31#(isPalListKind V, V), U31#(ok X1, ok X2) -> U31#(X1, X2)) (proper# U71(X1, X2) -> U71#(proper X1, proper X2), U71#(mark X1, X2) -> U71#(X1, X2)) (proper# U71(X1, X2) -> U71#(proper X1, proper X2), U71#(ok X1, ok X2) -> U71#(X1, X2)) (proper# U52(X1, X2) -> U52#(proper X1, proper X2), U52#(mark X1, X2) -> U52#(X1, X2)) (proper# U52(X1, X2) -> U52#(proper X1, proper X2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (proper# U31(X1, X2) -> U31#(proper X1, proper X2), U31#(mark X1, X2) -> U31#(X1, X2)) (proper# U31(X1, X2) -> U31#(proper X1, proper X2), U31#(ok X1, ok X2) -> U31#(X1, X2)) (proper# U11(X1, X2) -> U11#(proper X1, proper X2), U11#(mark X1, X2) -> U11#(X1, X2)) (proper# U11(X1, X2) -> U11#(proper X1, proper X2), U11#(ok X1, ok X2) -> U11#(X1, X2)) (active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2), and#(mark X1, X2) -> and#(X1, X2)) (active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I), and#(mark X1, X2) -> and#(X1, X2)) (active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I), and#(ok X1, ok X2) -> and#(X1, X2)) (active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2), and#(mark X1, X2) -> and#(X1, X2)) (active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2), and#(ok X1, ok X2) -> and#(X1, X2)) (active# isNePal __(I, __(P, I)) -> isPal# P, isPal# ok X -> isPal# X) (active# __(__(X, Y), Z) -> __#(Y, Z), __#(X1, mark X2) -> __#(X1, X2)) (active# __(__(X, Y), Z) -> __#(Y, Z), __#(mark X1, X2) -> __#(X1, X2)) (active# __(__(X, Y), Z) -> __#(Y, Z), __#(ok X1, ok X2) -> __#(X1, X2)) (top# mark X -> top# proper X, top# mark X -> proper# X) (top# mark X -> top# proper X, top# mark X -> top# proper X) (top# mark X -> top# proper X, top# ok X -> active# X) (top# mark X -> top# proper X, top# ok X -> top# active X) (proper# isPalListKind X -> isPalListKind# proper X, isPalListKind# ok X -> isPalListKind# X) (proper# U72 X -> U72# proper X, U72# mark X -> U72# X) (proper# U72 X -> U72# proper X, U72# ok X -> U72# X) (proper# U53 X -> U53# proper X, U53# mark X -> U53# X) (proper# U53 X -> U53# proper X, U53# ok X -> U53# X) (proper# isQid X -> isQid# proper X, isQid# ok X -> isQid# X) (proper# U23 X -> U23# proper X, U23# mark X -> U23# X) (proper# U23 X -> U23# proper X, U23# ok X -> U23# X) (proper# isNeList X -> isNeList# proper X, isNeList# ok X -> isNeList# X) (active# U72 X -> U72# active X, U72# mark X -> U72# X) (active# U72 X -> U72# active X, U72# ok X -> U72# X) (active# U53 X -> U53# active X, U53# mark X -> U53# X) (active# U53 X -> U53# active X, U53# ok X -> U53# X) (active# U32 X -> U32# active X, U32# mark X -> U32# X) (active# U32 X -> U32# active X, U32# ok X -> U32# X) (active# U12 X -> U12# active X, U12# mark X -> U12# X) (active# U12 X -> U12# active X, U12# ok X -> U12# X) (active# U61(tt(), V) -> U62# isQid V, U62# mark X -> U62# X) (active# U61(tt(), V) -> U62# isQid V, U62# ok X -> U62# X) (active# U11(tt(), V) -> U12# isNeList V, U12# mark X -> U12# X) (active# U11(tt(), V) -> U12# isNeList V, U12# ok X -> U12# X) (active# U42(tt(), V2) -> U43# isNeList V2, U43# mark X -> U43# X) (active# U42(tt(), V2) -> U43# isNeList V2, U43# ok X -> U43# X) (proper# and(X1, X2) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# and(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# and(X1, X2) -> proper# X1, proper# isNeList X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# isList X -> isList# proper X) (proper# and(X1, X2) -> proper# X1, proper# isList X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X) (proper# and(X1, X2) -> proper# X1, proper# U23 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# and(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# and(X1, X2) -> proper# X1, proper# isQid X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# and(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# and(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X) (proper# and(X1, X2) -> proper# X1, proper# U62 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# U72 X -> U72# proper X) (proper# and(X1, X2) -> proper# X1, proper# U72 X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# and(X1, X2) -> proper# X1, proper# isNePal X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X1, proper# isPalListKind X -> isPalListKind# proper X) (proper# and(X1, X2) -> proper# X1, proper# isPalListKind X -> proper# X) (proper# and(X1, X2) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# and(X1, X2) -> proper# X1, proper# isPal X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNeList X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# isList X -> isList# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isList X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U23 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isQid X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U62 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# U72 X -> U72# proper X) (proper# U61(X1, X2) -> proper# X1, proper# U72 X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isNePal X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X1, proper# isPalListKind X -> isPalListKind# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isPalListKind X -> proper# X) (proper# U61(X1, X2) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# U61(X1, X2) -> proper# X1, proper# isPal X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNeList X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# isList X -> isList# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isList X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U23 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isQid X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U62 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# U72 X -> U72# proper X) (proper# U52(X1, X2) -> proper# X1, proper# U72 X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isNePal X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X1, proper# isPalListKind X -> isPalListKind# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isPalListKind X -> proper# X) (proper# U52(X1, X2) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# U52(X1, X2) -> proper# X1, proper# isPal X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNeList X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# isList X -> isList# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isList X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U23 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isQid X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U62 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# U72 X -> U72# proper X) (proper# U42(X1, X2) -> proper# X1, proper# U72 X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isNePal X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X1, proper# isPalListKind X -> isPalListKind# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isPalListKind X -> proper# X) (proper# U42(X1, X2) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# U42(X1, X2) -> proper# X1, proper# isPal X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U21(X1, X2, X3) -> proper# X1, proper# U12 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# U21(X1, X2, X3) -> proper# X1, proper# isNeList X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X1, proper# U22(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X1, proper# isList X -> isList# proper X) (proper# U21(X1, X2, X3) -> proper# X1, proper# isList X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X1, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2, X3) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2, X3) -> proper# X1, proper# U23 X -> U23# proper X) (proper# U21(X1, X2, X3) -> proper# X1, proper# U23 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U21(X1, X2, X3) -> proper# X1, proper# U32 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# U21(X1, X2, X3) -> proper# X1, proper# isQid X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2, X3) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U21(X1, X2, X3) -> proper# X1, proper# U43 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2, X3) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U21(X1, X2, X3) -> proper# X1, proper# U53 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X1, proper# U62 X -> U62# proper X) (proper# U21(X1, X2, X3) -> proper# X1, proper# U62 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X1, proper# U72 X -> U72# proper X) (proper# U21(X1, X2, X3) -> proper# X1, proper# U72 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# U21(X1, X2, X3) -> proper# X1, proper# isNePal X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X1, proper# isPalListKind X -> isPalListKind# proper X) (proper# U21(X1, X2, X3) -> proper# X1, proper# isPalListKind X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# U21(X1, X2, X3) -> proper# X1, proper# isPal X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U12 X -> U12# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U12 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# U11(X1, X2) -> proper# X1, proper# isNeList X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# isList X -> isList# proper X) (proper# U11(X1, X2) -> proper# X1, proper# isList X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X1, proper# U23 X -> U23# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U23 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U32 X -> U32# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U32 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# U11(X1, X2) -> proper# X1, proper# isQid X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X1, proper# U43 X -> U43# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U43 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X1, proper# U53 X -> U53# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U53 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U62 X -> U62# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U62 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# U72 X -> U72# proper X) (proper# U11(X1, X2) -> proper# X1, proper# U72 X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# U11(X1, X2) -> proper# X1, proper# isNePal X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X1, proper# isPalListKind X -> isPalListKind# proper X) (proper# U11(X1, X2) -> proper# X1, proper# isPalListKind X -> proper# X) (proper# U11(X1, X2) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# U11(X1, X2) -> proper# X1, proper# isPal X -> proper# X) (active# and(X1, X2) -> active# X1, active# __(X1, X2) -> __#(X1, active X2)) (active# and(X1, X2) -> active# X1, active# __(X1, X2) -> __#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# __(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2) (active# and(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# and(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# and(X1, X2) -> active# X1, active# U12 X -> active# X) (active# and(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# and(X1, X2) -> active# X1, active# isNeList V -> U31#(isPalListKind V, V)) (active# and(X1, X2) -> active# X1, active# isNeList V -> isPalListKind# V) (active# and(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# and(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# and(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# and(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# and(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# and(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U11(tt(), V) -> U12# isNeList V) (active# and(X1, X2) -> active# X1, active# U11(tt(), V) -> isNeList# V) (active# and(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U22(tt(), V2) -> isList# V2) (active# and(X1, X2) -> active# X1, active# U22(tt(), V2) -> U23# isList V2) (active# and(X1, X2) -> active# X1, active# isList V -> U11#(isPalListKind V, V)) (active# and(X1, X2) -> active# X1, active# isList V -> isPalListKind# V) (active# and(X1, X2) -> active# X1, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# and(X1, X2) -> active# X1, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# and(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V1) (active# and(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V2) (active# and(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> active# X1) (active# and(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# and(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# and(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> isList# V1) (active# and(X1, X2) -> active# X1, active# U23 X -> active# X) (active# and(X1, X2) -> active# X1, active# U23 X -> U23# active X) (active# and(X1, X2) -> active# X1, active# U32 X -> active# X) (active# and(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# and(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isQid V) (active# and(X1, X2) -> active# X1, active# U31(tt(), V) -> isQid# V) (active# and(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNeList# V2) (active# and(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNeList V2) (active# and(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# and(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# and(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isList# V1) (active# and(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# and(X1, X2) -> active# X1, active# U43 X -> active# X) (active# and(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# and(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U52(tt(), V2) -> isList# V2) (active# and(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isList V2) (active# and(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# and(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# and(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNeList# V1) (active# and(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# and(X1, X2) -> active# X1, active# U53 X -> active# X) (active# and(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# and(X1, X2) -> active# X1, active# U62 X -> active# X) (active# and(X1, X2) -> active# X1, active# U62 X -> U62# active X) (active# and(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U61(tt(), V) -> isQid# V) (active# and(X1, X2) -> active# X1, active# U61(tt(), V) -> U62# isQid V) (active# and(X1, X2) -> active# X1, active# U72 X -> active# X) (active# and(X1, X2) -> active# X1, active# U72 X -> U72# active X) (active# and(X1, X2) -> active# X1, active# isNePal V -> U61#(isPalListKind V, V)) (active# and(X1, X2) -> active# X1, active# isNePal V -> isPalListKind# V) (active# and(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# and(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# and(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# and(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# and(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# and(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# and(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPal# P) (active# and(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# U71(tt(), V) -> U72# isNePal V) (active# and(X1, X2) -> active# X1, active# U71(tt(), V) -> isNePal# V) (active# and(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# and(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# and(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# and(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# and(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# and(X1, X2) -> active# X1, active# isPal V -> U71#(isPalListKind V, V)) (active# and(X1, X2) -> active# X1, active# isPal V -> isPalListKind# V) (active# U61(X1, X2) -> active# X1, active# __(X1, X2) -> __#(X1, active X2)) (active# U61(X1, X2) -> active# X1, active# __(X1, X2) -> __#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# __(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2) (active# U61(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U61(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U61(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U61(X1, X2) -> active# X1, active# isNeList V -> U31#(isPalListKind V, V)) (active# U61(X1, X2) -> active# X1, active# isNeList V -> isPalListKind# V) (active# U61(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U61(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U61(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U61(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U61(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U61(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U11(tt(), V) -> U12# isNeList V) (active# U61(X1, X2) -> active# X1, active# U11(tt(), V) -> isNeList# V) (active# U61(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U22(tt(), V2) -> isList# V2) (active# U61(X1, X2) -> active# X1, active# U22(tt(), V2) -> U23# isList V2) (active# U61(X1, X2) -> active# X1, active# isList V -> U11#(isPalListKind V, V)) (active# U61(X1, X2) -> active# X1, active# isList V -> isPalListKind# V) (active# U61(X1, X2) -> active# X1, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U61(X1, X2) -> active# X1, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U61(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V1) (active# U61(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V2) (active# U61(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U61(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U61(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> isList# V1) (active# U61(X1, X2) -> active# X1, active# U23 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U23 X -> U23# active X) (active# U61(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U61(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isQid V) (active# U61(X1, X2) -> active# X1, active# U31(tt(), V) -> isQid# V) (active# U61(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNeList# V2) (active# U61(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNeList V2) (active# U61(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U61(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isList# V1) (active# U61(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U61(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U61(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U52(tt(), V2) -> isList# V2) (active# U61(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isList V2) (active# U61(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U61(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U61(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U61(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U61(X1, X2) -> active# X1, active# U62 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U62 X -> U62# active X) (active# U61(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U61(tt(), V) -> isQid# V) (active# U61(X1, X2) -> active# X1, active# U61(tt(), V) -> U62# isQid V) (active# U61(X1, X2) -> active# X1, active# U72 X -> active# X) (active# U61(X1, X2) -> active# X1, active# U72 X -> U72# active X) (active# U61(X1, X2) -> active# X1, active# isNePal V -> U61#(isPalListKind V, V)) (active# U61(X1, X2) -> active# X1, active# isNePal V -> isPalListKind# V) (active# U61(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U61(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U61(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U61(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U61(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U61(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U61(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U61(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# U71(tt(), V) -> U72# isNePal V) (active# U61(X1, X2) -> active# X1, active# U71(tt(), V) -> isNePal# V) (active# U61(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U61(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U61(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U61(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U61(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U61(X1, X2) -> active# X1, active# isPal V -> U71#(isPalListKind V, V)) (active# U61(X1, X2) -> active# X1, active# isPal V -> isPalListKind# V) (active# U52(X1, X2) -> active# X1, active# __(X1, X2) -> __#(X1, active X2)) (active# U52(X1, X2) -> active# X1, active# __(X1, X2) -> __#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# __(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2) (active# U52(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U52(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U52(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U52(X1, X2) -> active# X1, active# isNeList V -> U31#(isPalListKind V, V)) (active# U52(X1, X2) -> active# X1, active# isNeList V -> isPalListKind# V) (active# U52(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U52(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U52(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U52(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U52(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U52(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U11(tt(), V) -> U12# isNeList V) (active# U52(X1, X2) -> active# X1, active# U11(tt(), V) -> isNeList# V) (active# U52(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U22(tt(), V2) -> isList# V2) (active# U52(X1, X2) -> active# X1, active# U22(tt(), V2) -> U23# isList V2) (active# U52(X1, X2) -> active# X1, active# isList V -> U11#(isPalListKind V, V)) (active# U52(X1, X2) -> active# X1, active# isList V -> isPalListKind# V) (active# U52(X1, X2) -> active# X1, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U52(X1, X2) -> active# X1, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U52(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V1) (active# U52(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V2) (active# U52(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U52(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U52(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> isList# V1) (active# U52(X1, X2) -> active# X1, active# U23 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U23 X -> U23# active X) (active# U52(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U52(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isQid V) (active# U52(X1, X2) -> active# X1, active# U31(tt(), V) -> isQid# V) (active# U52(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNeList# V2) (active# U52(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNeList V2) (active# U52(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U52(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isList# V1) (active# U52(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U52(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U52(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U52(tt(), V2) -> isList# V2) (active# U52(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isList V2) (active# U52(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U52(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U52(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U52(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U52(X1, X2) -> active# X1, active# U62 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U62 X -> U62# active X) (active# U52(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U61(tt(), V) -> isQid# V) (active# U52(X1, X2) -> active# X1, active# U61(tt(), V) -> U62# isQid V) (active# U52(X1, X2) -> active# X1, active# U72 X -> active# X) (active# U52(X1, X2) -> active# X1, active# U72 X -> U72# active X) (active# U52(X1, X2) -> active# X1, active# isNePal V -> U61#(isPalListKind V, V)) (active# U52(X1, X2) -> active# X1, active# isNePal V -> isPalListKind# V) (active# U52(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U52(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U52(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U52(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U52(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U52(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U52(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U52(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# U71(tt(), V) -> U72# isNePal V) (active# U52(X1, X2) -> active# X1, active# U71(tt(), V) -> isNePal# V) (active# U52(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U52(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U52(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U52(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U52(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U52(X1, X2) -> active# X1, active# isPal V -> U71#(isPalListKind V, V)) (active# U52(X1, X2) -> active# X1, active# isPal V -> isPalListKind# V) (active# U42(X1, X2) -> active# X1, active# __(X1, X2) -> __#(X1, active X2)) (active# U42(X1, X2) -> active# X1, active# __(X1, X2) -> __#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# __(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2) (active# U42(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U42(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U42(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U42(X1, X2) -> active# X1, active# isNeList V -> U31#(isPalListKind V, V)) (active# U42(X1, X2) -> active# X1, active# isNeList V -> isPalListKind# V) (active# U42(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U42(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U42(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U42(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U42(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U42(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U11(tt(), V) -> U12# isNeList V) (active# U42(X1, X2) -> active# X1, active# U11(tt(), V) -> isNeList# V) (active# U42(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U22(tt(), V2) -> isList# V2) (active# U42(X1, X2) -> active# X1, active# U22(tt(), V2) -> U23# isList V2) (active# U42(X1, X2) -> active# X1, active# isList V -> U11#(isPalListKind V, V)) (active# U42(X1, X2) -> active# X1, active# isList V -> isPalListKind# V) (active# U42(X1, X2) -> active# X1, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U42(X1, X2) -> active# X1, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U42(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V1) (active# U42(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V2) (active# U42(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U42(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U42(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> isList# V1) (active# U42(X1, X2) -> active# X1, active# U23 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U23 X -> U23# active X) (active# U42(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U42(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isQid V) (active# U42(X1, X2) -> active# X1, active# U31(tt(), V) -> isQid# V) (active# U42(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNeList# V2) (active# U42(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNeList V2) (active# U42(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U42(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isList# V1) (active# U42(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U42(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U42(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U52(tt(), V2) -> isList# V2) (active# U42(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isList V2) (active# U42(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U42(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U42(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U42(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U42(X1, X2) -> active# X1, active# U62 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U62 X -> U62# active X) (active# U42(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U61(tt(), V) -> isQid# V) (active# U42(X1, X2) -> active# X1, active# U61(tt(), V) -> U62# isQid V) (active# U42(X1, X2) -> active# X1, active# U72 X -> active# X) (active# U42(X1, X2) -> active# X1, active# U72 X -> U72# active X) (active# U42(X1, X2) -> active# X1, active# isNePal V -> U61#(isPalListKind V, V)) (active# U42(X1, X2) -> active# X1, active# isNePal V -> isPalListKind# V) (active# U42(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U42(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U42(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U42(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U42(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U42(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U42(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U42(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# U71(tt(), V) -> U72# isNePal V) (active# U42(X1, X2) -> active# X1, active# U71(tt(), V) -> isNePal# V) (active# U42(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U42(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U42(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U42(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U42(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U42(X1, X2) -> active# X1, active# isPal V -> U71#(isPalListKind V, V)) (active# U42(X1, X2) -> active# X1, active# isPal V -> isPalListKind# V) (active# U21(X1, X2, X3) -> active# X1, active# __(X1, X2) -> __#(X1, active X2)) (active# U21(X1, X2, X3) -> active# X1, active# __(X1, X2) -> __#(active X1, X2)) (active# U21(X1, X2, X3) -> active# X1, active# __(X1, X2) -> active# X1) (active# U21(X1, X2, X3) -> active# X1, active# __(X1, X2) -> active# X2) (active# U21(X1, X2, X3) -> active# X1, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U21(X1, X2, X3) -> active# X1, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U21(X1, X2, X3) -> active# X1, active# U12 X -> active# X) (active# U21(X1, X2, X3) -> active# X1, active# U12 X -> U12# active X) (active# U21(X1, X2, X3) -> active# X1, active# isNeList V -> U31#(isPalListKind V, V)) (active# U21(X1, X2, X3) -> active# X1, active# isNeList V -> isPalListKind# V) (active# U21(X1, X2, X3) -> active# X1, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U21(X1, X2, X3) -> active# X1, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U21(X1, X2, X3) -> active# X1, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U21(X1, X2, X3) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U21(X1, X2, X3) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U21(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U21(X1, X2, X3) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U21(X1, X2, X3) -> active# X1, active# U11(tt(), V) -> U12# isNeList V) (active# U21(X1, X2, X3) -> active# X1, active# U11(tt(), V) -> isNeList# V) (active# U21(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> active# X1) (active# U21(X1, X2, X3) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U21(X1, X2, X3) -> active# X1, active# U22(tt(), V2) -> isList# V2) (active# U21(X1, X2, X3) -> active# X1, active# U22(tt(), V2) -> U23# isList V2) (active# U21(X1, X2, X3) -> active# X1, active# isList V -> U11#(isPalListKind V, V)) (active# U21(X1, X2, X3) -> active# X1, active# isList V -> isPalListKind# V) (active# U21(X1, X2, X3) -> active# X1, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U21(X1, X2, X3) -> active# X1, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U21(X1, X2, X3) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V1) (active# U21(X1, X2, X3) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V2) (active# U21(X1, X2, X3) -> active# X1, active# U21(X1, X2, X3) -> active# X1) (active# U21(X1, X2, X3) -> active# X1, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U21(X1, X2, X3) -> active# X1, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U21(X1, X2, X3) -> active# X1, active# U21(tt(), V1, V2) -> isList# V1) (active# U21(X1, X2, X3) -> active# X1, active# U23 X -> active# X) (active# U21(X1, X2, X3) -> active# X1, active# U23 X -> U23# active X) (active# U21(X1, X2, X3) -> active# X1, active# U32 X -> active# X) (active# U21(X1, X2, X3) -> active# X1, active# U32 X -> U32# active X) (active# U21(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U21(X1, X2, X3) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U21(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> U32# isQid V) (active# U21(X1, X2, X3) -> active# X1, active# U31(tt(), V) -> isQid# V) (active# U21(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U21(X1, X2, X3) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U21(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> isNeList# V2) (active# U21(X1, X2, X3) -> active# X1, active# U42(tt(), V2) -> U43# isNeList V2) (active# U21(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U21(X1, X2, X3) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U21(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> isList# V1) (active# U21(X1, X2, X3) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U21(X1, X2, X3) -> active# X1, active# U43 X -> active# X) (active# U21(X1, X2, X3) -> active# X1, active# U43 X -> U43# active X) (active# U21(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U21(X1, X2, X3) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U21(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> isList# V2) (active# U21(X1, X2, X3) -> active# X1, active# U52(tt(), V2) -> U53# isList V2) (active# U21(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U21(X1, X2, X3) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U21(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U21(X1, X2, X3) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U21(X1, X2, X3) -> active# X1, active# U53 X -> active# X) (active# U21(X1, X2, X3) -> active# X1, active# U53 X -> U53# active X) (active# U21(X1, X2, X3) -> active# X1, active# U62 X -> active# X) (active# U21(X1, X2, X3) -> active# X1, active# U62 X -> U62# active X) (active# U21(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U21(X1, X2, X3) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U21(X1, X2, X3) -> active# X1, active# U61(tt(), V) -> isQid# V) (active# U21(X1, X2, X3) -> active# X1, active# U61(tt(), V) -> U62# isQid V) (active# U21(X1, X2, X3) -> active# X1, active# U72 X -> active# X) (active# U21(X1, X2, X3) -> active# X1, active# U72 X -> U72# active X) (active# U21(X1, X2, X3) -> active# X1, active# isNePal V -> U61#(isPalListKind V, V)) (active# U21(X1, X2, X3) -> active# X1, active# isNePal V -> isPalListKind# V) (active# U21(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U21(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U21(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U21(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U21(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U21(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U21(X1, X2, X3) -> active# X1, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U21(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> active# X1) (active# U21(X1, X2, X3) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U21(X1, X2, X3) -> active# X1, active# U71(tt(), V) -> U72# isNePal V) (active# U21(X1, X2, X3) -> active# X1, active# U71(tt(), V) -> isNePal# V) (active# U21(X1, X2, X3) -> active# X1, active# and(X1, X2) -> active# X1) (active# U21(X1, X2, X3) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U21(X1, X2, X3) -> active# X1, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U21(X1, X2, X3) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U21(X1, X2, X3) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U21(X1, X2, X3) -> active# X1, active# isPal V -> U71#(isPalListKind V, V)) (active# U21(X1, X2, X3) -> active# X1, active# isPal V -> isPalListKind# V) (active# U11(X1, X2) -> active# X1, active# __(X1, X2) -> __#(X1, active X2)) (active# U11(X1, X2) -> active# X1, active# __(X1, X2) -> __#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# __(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2) (active# U11(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U11(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U11(X1, X2) -> active# X1, active# U12 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U12 X -> U12# active X) (active# U11(X1, X2) -> active# X1, active# isNeList V -> U31#(isPalListKind V, V)) (active# U11(X1, X2) -> active# X1, active# isNeList V -> isPalListKind# V) (active# U11(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U11(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U11(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U11(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# U11(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# U11(X1, X2) -> active# X1, active# U11(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U11(X1, X2) -> U11#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U11(tt(), V) -> U12# isNeList V) (active# U11(X1, X2) -> active# X1, active# U11(tt(), V) -> isNeList# V) (active# U11(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U22(X1, X2) -> U22#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U22(tt(), V2) -> isList# V2) (active# U11(X1, X2) -> active# X1, active# U22(tt(), V2) -> U23# isList V2) (active# U11(X1, X2) -> active# X1, active# isList V -> U11#(isPalListKind V, V)) (active# U11(X1, X2) -> active# X1, active# isList V -> isPalListKind# V) (active# U11(X1, X2) -> active# X1, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# U11(X1, X2) -> active# X1, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U11(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V1) (active# U11(X1, X2) -> active# X1, active# isList __(V1, V2) -> isPalListKind# V2) (active# U11(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# U11(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# U11(X1, X2) -> active# X1, active# U21(tt(), V1, V2) -> isList# V1) (active# U11(X1, X2) -> active# X1, active# U23 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U23 X -> U23# active X) (active# U11(X1, X2) -> active# X1, active# U32 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U32 X -> U32# active X) (active# U11(X1, X2) -> active# X1, active# U31(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U31(X1, X2) -> U31#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U31(tt(), V) -> U32# isQid V) (active# U11(X1, X2) -> active# X1, active# U31(tt(), V) -> isQid# V) (active# U11(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U42(X1, X2) -> U42#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U42(tt(), V2) -> isNeList# V2) (active# U11(X1, X2) -> active# X1, active# U42(tt(), V2) -> U43# isNeList V2) (active# U11(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# U11(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> isList# V1) (active# U11(X1, X2) -> active# X1, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# U11(X1, X2) -> active# X1, active# U43 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U43 X -> U43# active X) (active# U11(X1, X2) -> active# X1, active# U52(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U52(X1, X2) -> U52#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U52(tt(), V2) -> isList# V2) (active# U11(X1, X2) -> active# X1, active# U52(tt(), V2) -> U53# isList V2) (active# U11(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# U11(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> isNeList# V1) (active# U11(X1, X2) -> active# X1, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# U11(X1, X2) -> active# X1, active# U53 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U53 X -> U53# active X) (active# U11(X1, X2) -> active# X1, active# U62 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U62 X -> U62# active X) (active# U11(X1, X2) -> active# X1, active# U61(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U61(X1, X2) -> U61#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U61(tt(), V) -> isQid# V) (active# U11(X1, X2) -> active# X1, active# U61(tt(), V) -> U62# isQid V) (active# U11(X1, X2) -> active# X1, active# U72 X -> active# X) (active# U11(X1, X2) -> active# X1, active# U72 X -> U72# active X) (active# U11(X1, X2) -> active# X1, active# isNePal V -> U61#(isPalListKind V, V)) (active# U11(X1, X2) -> active# X1, active# isNePal V -> isPalListKind# V) (active# U11(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U11(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# U11(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# U11(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# U11(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# U11(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# U11(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isPal# P) (active# U11(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# U71(tt(), V) -> U72# isNePal V) (active# U11(X1, X2) -> active# X1, active# U71(tt(), V) -> isNePal# V) (active# U11(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1) (active# U11(X1, X2) -> active# X1, active# and(X1, X2) -> and#(active X1, X2)) (active# U11(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# U11(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# U11(X1, X2) -> active# X1, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# U11(X1, X2) -> active# X1, active# isPal V -> U71#(isPalListKind V, V)) (active# U11(X1, X2) -> active# X1, active# isPal V -> isPalListKind# V) (and#(ok X1, ok X2) -> and#(X1, X2), and#(mark X1, X2) -> and#(X1, X2)) (and#(ok X1, ok X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)) (U71#(ok X1, ok X2) -> U71#(X1, X2), U71#(mark X1, X2) -> U71#(X1, X2)) (U71#(ok X1, ok X2) -> U71#(X1, X2), U71#(ok X1, ok X2) -> U71#(X1, X2)) (U61#(ok X1, ok X2) -> U61#(X1, X2), U61#(mark X1, X2) -> U61#(X1, X2)) (U61#(ok X1, ok X2) -> U61#(X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2)) (U52#(ok X1, ok X2) -> U52#(X1, X2), U52#(mark X1, X2) -> U52#(X1, X2)) (U52#(ok X1, ok X2) -> U52#(X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (U42#(ok X1, ok X2) -> U42#(X1, X2), U42#(mark X1, X2) -> U42#(X1, X2)) (U42#(ok X1, ok X2) -> U42#(X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2)) (U31#(ok X1, ok X2) -> U31#(X1, X2), U31#(mark X1, X2) -> U31#(X1, X2)) (U31#(ok X1, ok X2) -> U31#(X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2)) (U22#(ok X1, ok X2) -> U22#(X1, X2), U22#(mark X1, X2) -> U22#(X1, X2)) (U22#(ok X1, ok X2) -> U22#(X1, X2), U22#(ok X1, ok X2) -> U22#(X1, X2)) (U11#(ok X1, ok X2) -> U11#(X1, X2), U11#(mark X1, X2) -> U11#(X1, X2)) (U11#(ok X1, ok X2) -> U11#(X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2)) (__#(ok X1, ok X2) -> __#(X1, X2), __#(X1, mark X2) -> __#(X1, X2)) (__#(ok X1, ok X2) -> __#(X1, X2), __#(mark X1, X2) -> __#(X1, X2)) (__#(ok X1, ok X2) -> __#(X1, X2), __#(ok X1, ok X2) -> __#(X1, X2)) (__#(X1, mark X2) -> __#(X1, X2), __#(X1, mark X2) -> __#(X1, X2)) (__#(X1, mark X2) -> __#(X1, X2), __#(mark X1, X2) -> __#(X1, X2)) (__#(X1, mark X2) -> __#(X1, X2), __#(ok X1, ok X2) -> __#(X1, X2)) (active# U71(X1, X2) -> U71#(active X1, X2), U71#(mark X1, X2) -> U71#(X1, X2)) (active# U71(X1, X2) -> U71#(active X1, X2), U71#(ok X1, ok X2) -> U71#(X1, X2)) (active# U52(X1, X2) -> U52#(active X1, X2), U52#(mark X1, X2) -> U52#(X1, X2)) (active# U52(X1, X2) -> U52#(active X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2)) (active# U31(X1, X2) -> U31#(active X1, X2), U31#(mark X1, X2) -> U31#(X1, X2)) (active# U31(X1, X2) -> U31#(active X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2)) (active# U11(X1, X2) -> U11#(active X1, X2), U11#(mark X1, X2) -> U11#(X1, X2)) (active# U11(X1, X2) -> U11#(active X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2)) (active# isPal V -> isPalListKind# V, isPalListKind# ok X -> isPalListKind# X) (active# isNePal V -> isPalListKind# V, isPalListKind# ok X -> isPalListKind# X) (active# U31(tt(), V) -> isQid# V, isQid# ok X -> isQid# X) (active# U11(tt(), V) -> isNeList# V, isNeList# ok X -> isNeList# X) (proper# and(X1, X2) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# and(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# and(X1, X2) -> proper# X2, proper# isNeList X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# isList X -> isList# proper X) (proper# and(X1, X2) -> proper# X2, proper# isList X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X) (proper# and(X1, X2) -> proper# X2, proper# U23 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# and(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# and(X1, X2) -> proper# X2, proper# isQid X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# and(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# and(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# and(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X) (proper# and(X1, X2) -> proper# X2, proper# U62 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# U72 X -> U72# proper X) (proper# and(X1, X2) -> proper# X2, proper# U72 X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# and(X1, X2) -> proper# X2, proper# isNePal X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# and(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# and(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# and(X1, X2) -> proper# X2, proper# isPalListKind X -> isPalListKind# proper X) (proper# and(X1, X2) -> proper# X2, proper# isPalListKind X -> proper# X) (proper# and(X1, X2) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# and(X1, X2) -> proper# X2, proper# isPal X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNeList X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# isList X -> isList# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isList X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U23 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isQid X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U61(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U61(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U62 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# U72 X -> U72# proper X) (proper# U61(X1, X2) -> proper# X2, proper# U72 X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isNePal X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U61(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U61(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U61(X1, X2) -> proper# X2, proper# isPalListKind X -> isPalListKind# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isPalListKind X -> proper# X) (proper# U61(X1, X2) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# U61(X1, X2) -> proper# X2, proper# isPal X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNeList X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# isList X -> isList# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isList X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U23 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isQid X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U52(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U62 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# U72 X -> U72# proper X) (proper# U52(X1, X2) -> proper# X2, proper# U72 X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isNePal X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U52(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U52(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U52(X1, X2) -> proper# X2, proper# isPalListKind X -> isPalListKind# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isPalListKind X -> proper# X) (proper# U52(X1, X2) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# U52(X1, X2) -> proper# X2, proper# isPal X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNeList X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# isList X -> isList# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isList X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U23 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isQid X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U42(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U42(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U62 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# U72 X -> U72# proper X) (proper# U42(X1, X2) -> proper# X2, proper# U72 X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isNePal X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U42(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U42(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U42(X1, X2) -> proper# X2, proper# isPalListKind X -> isPalListKind# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isPalListKind X -> proper# X) (proper# U42(X1, X2) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# U42(X1, X2) -> proper# X2, proper# isPal X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U21(X1, X2, X3) -> proper# X2, proper# U12 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# U21(X1, X2, X3) -> proper# X2, proper# isNeList X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X2, proper# U22(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X2, proper# isList X -> isList# proper X) (proper# U21(X1, X2, X3) -> proper# X2, proper# isList X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X2, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2, X3) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2, X3) -> proper# X2, proper# U23 X -> U23# proper X) (proper# U21(X1, X2, X3) -> proper# X2, proper# U23 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U21(X1, X2, X3) -> proper# X2, proper# U32 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# U21(X1, X2, X3) -> proper# X2, proper# isQid X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2, X3) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U21(X1, X2, X3) -> proper# X2, proper# U43 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U21(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U21(X1, X2, X3) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U21(X1, X2, X3) -> proper# X2, proper# U53 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X2, proper# U62 X -> U62# proper X) (proper# U21(X1, X2, X3) -> proper# X2, proper# U62 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X2, proper# U72 X -> U72# proper X) (proper# U21(X1, X2, X3) -> proper# X2, proper# U72 X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# U21(X1, X2, X3) -> proper# X2, proper# isNePal X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U21(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U21(X1, X2, X3) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U21(X1, X2, X3) -> proper# X2, proper# isPalListKind X -> isPalListKind# proper X) (proper# U21(X1, X2, X3) -> proper# X2, proper# isPalListKind X -> proper# X) (proper# U21(X1, X2, X3) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# U21(X1, X2, X3) -> proper# X2, proper# isPal X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U12 X -> U12# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U12 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# U11(X1, X2) -> proper# X2, proper# isNeList X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U11(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# isList X -> isList# proper X) (proper# U11(X1, X2) -> proper# X2, proper# isList X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X2, proper# U23 X -> U23# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U23 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U32 X -> U32# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U32 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# U11(X1, X2) -> proper# X2, proper# isQid X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U31(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X2, proper# U43 X -> U43# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U43 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U52(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U11(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3) (proper# U11(X1, X2) -> proper# X2, proper# U53 X -> U53# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U53 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U62 X -> U62# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U62 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U61(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# U72 X -> U72# proper X) (proper# U11(X1, X2) -> proper# X2, proper# U72 X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# U11(X1, X2) -> proper# X2, proper# isNePal X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U11(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1) (proper# U11(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X2) (proper# U11(X1, X2) -> proper# X2, proper# isPalListKind X -> isPalListKind# proper X) (proper# U11(X1, X2) -> proper# X2, proper# isPalListKind X -> proper# X) (proper# U11(X1, X2) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# U11(X1, X2) -> proper# X2, proper# isPal X -> proper# X) (active# __(X1, X2) -> active# X2, active# __(X1, X2) -> __#(X1, active X2)) (active# __(X1, X2) -> active# X2, active# __(X1, X2) -> __#(active X1, X2)) (active# __(X1, X2) -> active# X2, active# __(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X2, active# __(X1, X2) -> active# X2) (active# __(X1, X2) -> active# X2, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# __(X1, X2) -> active# X2, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# __(X1, X2) -> active# X2, active# U12 X -> active# X) (active# __(X1, X2) -> active# X2, active# U12 X -> U12# active X) (active# __(X1, X2) -> active# X2, active# isNeList V -> U31#(isPalListKind V, V)) (active# __(X1, X2) -> active# X2, active# isNeList V -> isPalListKind# V) (active# __(X1, X2) -> active# X2, active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# __(X1, X2) -> active# X2, active# isNeList __(V1, V2) -> U51#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# __(X1, X2) -> active# X2, active# isNeList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# __(X1, X2) -> active# X2, active# isNeList __(V1, V2) -> isPalListKind# V1) (active# __(X1, X2) -> active# X2, active# isNeList __(V1, V2) -> isPalListKind# V2) (active# __(X1, X2) -> active# X2, active# U11(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X2, active# U11(X1, X2) -> U11#(active X1, X2)) (active# __(X1, X2) -> active# X2, active# U11(tt(), V) -> U12# isNeList V) (active# __(X1, X2) -> active# X2, active# U11(tt(), V) -> isNeList# V) (active# __(X1, X2) -> active# X2, active# U22(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X2, active# U22(X1, X2) -> U22#(active X1, X2)) (active# __(X1, X2) -> active# X2, active# U22(tt(), V2) -> isList# V2) (active# __(X1, X2) -> active# X2, active# U22(tt(), V2) -> U23# isList V2) (active# __(X1, X2) -> active# X2, active# isList V -> U11#(isPalListKind V, V)) (active# __(X1, X2) -> active# X2, active# isList V -> isPalListKind# V) (active# __(X1, X2) -> active# X2, active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2)) (active# __(X1, X2) -> active# X2, active# isList __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# __(X1, X2) -> active# X2, active# isList __(V1, V2) -> isPalListKind# V1) (active# __(X1, X2) -> active# X2, active# isList __(V1, V2) -> isPalListKind# V2) (active# __(X1, X2) -> active# X2, active# U21(X1, X2, X3) -> active# X1) (active# __(X1, X2) -> active# X2, active# U21(X1, X2, X3) -> U21#(active X1, X2, X3)) (active# __(X1, X2) -> active# X2, active# U21(tt(), V1, V2) -> U22#(isList V1, V2)) (active# __(X1, X2) -> active# X2, active# U21(tt(), V1, V2) -> isList# V1) (active# __(X1, X2) -> active# X2, active# U23 X -> active# X) (active# __(X1, X2) -> active# X2, active# U23 X -> U23# active X) (active# __(X1, X2) -> active# X2, active# U32 X -> active# X) (active# __(X1, X2) -> active# X2, active# U32 X -> U32# active X) (active# __(X1, X2) -> active# X2, active# U31(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X2, active# U31(X1, X2) -> U31#(active X1, X2)) (active# __(X1, X2) -> active# X2, active# U31(tt(), V) -> U32# isQid V) (active# __(X1, X2) -> active# X2, active# U31(tt(), V) -> isQid# V) (active# __(X1, X2) -> active# X2, active# U42(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X2, active# U42(X1, X2) -> U42#(active X1, X2)) (active# __(X1, X2) -> active# X2, active# U42(tt(), V2) -> isNeList# V2) (active# __(X1, X2) -> active# X2, active# U42(tt(), V2) -> U43# isNeList V2) (active# __(X1, X2) -> active# X2, active# U41(X1, X2, X3) -> active# X1) (active# __(X1, X2) -> active# X2, active# U41(X1, X2, X3) -> U41#(active X1, X2, X3)) (active# __(X1, X2) -> active# X2, active# U41(tt(), V1, V2) -> isList# V1) (active# __(X1, X2) -> active# X2, active# U41(tt(), V1, V2) -> U42#(isList V1, V2)) (active# __(X1, X2) -> active# X2, active# U43 X -> active# X) (active# __(X1, X2) -> active# X2, active# U43 X -> U43# active X) (active# __(X1, X2) -> active# X2, active# U52(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X2, active# U52(X1, X2) -> U52#(active X1, X2)) (active# __(X1, X2) -> active# X2, active# U52(tt(), V2) -> isList# V2) (active# __(X1, X2) -> active# X2, active# U52(tt(), V2) -> U53# isList V2) (active# __(X1, X2) -> active# X2, active# U51(X1, X2, X3) -> active# X1) (active# __(X1, X2) -> active# X2, active# U51(X1, X2, X3) -> U51#(active X1, X2, X3)) (active# __(X1, X2) -> active# X2, active# U51(tt(), V1, V2) -> isNeList# V1) (active# __(X1, X2) -> active# X2, active# U51(tt(), V1, V2) -> U52#(isNeList V1, V2)) (active# __(X1, X2) -> active# X2, active# U53 X -> active# X) (active# __(X1, X2) -> active# X2, active# U53 X -> U53# active X) (active# __(X1, X2) -> active# X2, active# U62 X -> active# X) (active# __(X1, X2) -> active# X2, active# U62 X -> U62# active X) (active# __(X1, X2) -> active# X2, active# U61(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X2, active# U61(X1, X2) -> U61#(active X1, X2)) (active# __(X1, X2) -> active# X2, active# U61(tt(), V) -> isQid# V) (active# __(X1, X2) -> active# X2, active# U61(tt(), V) -> U62# isQid V) (active# __(X1, X2) -> active# X2, active# U72 X -> active# X) (active# __(X1, X2) -> active# X2, active# U72 X -> U72# active X) (active# __(X1, X2) -> active# X2, active# isNePal V -> U61#(isPalListKind V, V)) (active# __(X1, X2) -> active# X2, active# isNePal V -> isPalListKind# V) (active# __(X1, X2) -> active# X2, active# isNePal __(I, __(P, I)) -> isQid# I) (active# __(X1, X2) -> active# X2, active# isNePal __(I, __(P, I)) -> and#(isQid I, isPalListKind I)) (active# __(X1, X2) -> active# X2, active# isNePal __(I, __(P, I)) -> and#(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P))) (active# __(X1, X2) -> active# X2, active# isNePal __(I, __(P, I)) -> and#(isPal P, isPalListKind P)) (active# __(X1, X2) -> active# X2, active# isNePal __(I, __(P, I)) -> isPalListKind# I) (active# __(X1, X2) -> active# X2, active# isNePal __(I, __(P, I)) -> isPalListKind# P) (active# __(X1, X2) -> active# X2, active# isNePal __(I, __(P, I)) -> isPal# P) (active# __(X1, X2) -> active# X2, active# U71(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X2, active# U71(X1, X2) -> U71#(active X1, X2)) (active# __(X1, X2) -> active# X2, active# U71(tt(), V) -> U72# isNePal V) (active# __(X1, X2) -> active# X2, active# U71(tt(), V) -> isNePal# V) (active# __(X1, X2) -> active# X2, active# and(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X2, active# and(X1, X2) -> and#(active X1, X2)) (active# __(X1, X2) -> active# X2, active# isPalListKind __(V1, V2) -> and#(isPalListKind V1, isPalListKind V2)) (active# __(X1, X2) -> active# X2, active# isPalListKind __(V1, V2) -> isPalListKind# V1) (active# __(X1, X2) -> active# X2, active# isPalListKind __(V1, V2) -> isPalListKind# V2) (active# __(X1, X2) -> active# X2, active# isPal V -> U71#(isPalListKind V, V)) (active# __(X1, X2) -> active# X2, active# isPal V -> isPalListKind# V) (active# U51(tt(), V1, V2) -> isNeList# V1, isNeList# ok X -> isNeList# X) (active# U21(tt(), V1, V2) -> isList# V1, isList# ok X -> isList# X) (active# isNeList __(V1, V2) -> isPalListKind# V1, isPalListKind# ok X -> isPalListKind# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# __(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# __(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U12 X -> U12# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U12 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNeList X -> isNeList# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNeList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> U11#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U11(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> U22#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U22(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# isList X -> isList# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isList X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U21(X1, X2, X3) -> U21#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U21(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U21(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U21(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X3, proper# U23 X -> U23# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U32 X -> U32# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U32 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isQid X -> isQid# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isQid X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> U31#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U31(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> U42#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U42(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> U41#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U41(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X3, proper# U43 X -> U43# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U43 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> U52#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U52(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> U51#(proper X1, proper X2, proper X3)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U51(X1, X2, X3) -> proper# X3) (proper# U41(X1, X2, X3) -> proper# X3, proper# U53 X -> U53# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U53 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U62 X -> U62# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U62 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> U61#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U61(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# U72 X -> U72# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U72 X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNePal X -> isNePal# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isNePal X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# U71(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> and#(proper X1, proper X2)) (proper# U41(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X1) (proper# U41(X1, X2, X3) -> proper# X3, proper# and(X1, X2) -> proper# X2) (proper# U41(X1, X2, X3) -> proper# X3, proper# isPalListKind X -> isPalListKind# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isPalListKind X -> proper# X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isPal X -> isPal# proper X) (proper# U41(X1, X2, X3) -> proper# X3, proper# isPal X -> proper# X) (active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2), U21#(mark X1, X2, X3) -> U21#(X1, X2, X3)) (active# isList __(V1, V2) -> U21#(and(isPalListKind V1, isPalListKind V2), V1, V2), U21#(ok X1, ok X2, ok X3) -> U21#(X1, X2, X3)) (active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2), U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)) (active# isNeList __(V1, V2) -> U41#(and(isPalListKind V1, isPalListKind V2), V1, V2), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)) (active# U52(tt(), V2) -> isList# V2, isList# ok X -> isList# X) (active# isList __(V1, V2) -> isPalListKind# V2, isPalListKind# ok X -> isPalListKind# X) (active# isNeList __(V1, V2) -> isPalListKind# V2, isPalListKind# ok X -> isPalListKind# X) } STATUS: arrows: 0.883715 SCCS (28): Scc: {top# mark X -> top# proper X, top# ok X -> top# active X} Scc: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U12 X -> active# X, active# U11(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> active# X1, active# U23 X -> active# X, active# U32 X -> active# X, active# U31(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1, active# U43 X -> active# X, active# U52(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1, active# U53 X -> active# X, active# U62 X -> active# X, active# U61(X1, X2) -> active# X1, active# U72 X -> active# X, active# U71(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1} Scc: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U12 X -> proper# X, proper# isNeList X -> proper# X, proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2, proper# isList X -> proper# X, proper# U21(X1, X2, X3) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X, proper# U32 X -> proper# X, proper# isQid X -> proper# X, proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3, proper# U43 X -> proper# X, proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3, proper# U53 X -> proper# X, proper# U62 X -> proper# X, proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2, proper# U72 X -> proper# X, proper# isNePal X -> proper# X, proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2, proper# isPalListKind X -> proper# X, proper# isPal X -> proper# X} Scc: {isPal# ok X -> isPal# X} Scc: { and#(mark X1, X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)} Scc: { U71#(mark X1, X2) -> U71#(X1, X2), U71#(ok X1, ok X2) -> U71#(X1, X2)} Scc: {isNePal# ok X -> isNePal# X} Scc: {U72# mark X -> U72# X, U72# ok X -> U72# X} Scc: { U61#(mark X1, X2) -> U61#(X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2)} Scc: {U62# mark X -> U62# X, U62# ok X -> U62# X} Scc: {U53# mark X -> U53# X, U53# ok X -> U53# X} Scc: { U52#(mark X1, X2) -> U52#(X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2)} Scc: {U43# mark X -> U43# X, U43# ok X -> U43# X} Scc: { U42#(mark X1, X2) -> U42#(X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2)} Scc: { U31#(mark X1, X2) -> U31#(X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2)} Scc: {isQid# ok X -> isQid# X} Scc: {U32# mark X -> U32# X, U32# ok X -> U32# X} Scc: {U23# mark X -> U23# X, U23# ok X -> U23# X} Scc: { U22#(mark X1, X2) -> U22#(X1, X2), U22#(ok X1, ok X2) -> U22#(X1, X2)} Scc: { U11#(mark X1, X2) -> U11#(X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2)} Scc: {U12# mark X -> U12# X, U12# ok X -> U12# X} Scc: { __#(X1, mark X2) -> __#(X1, X2), __#(mark X1, X2) -> __#(X1, X2), __#(ok X1, ok X2) -> __#(X1, X2)} Scc: { U21#(mark X1, X2, X3) -> U21#(X1, X2, X3), U21#(ok X1, ok X2, ok X3) -> U21#(X1, X2, X3)} Scc: { U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)} Scc: { U41#(mark X1, X2, X3) -> U41#(X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)} Scc: {isNeList# ok X -> isNeList# X} Scc: {isList# ok X -> isList# X} Scc: {isPalListKind# ok X -> isPalListKind# X} SCC (2): Strict: {top# mark X -> top# proper X, top# ok X -> top# active X} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} Fail SCC (20): Strict: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U12 X -> active# X, active# U11(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> active# X1, active# U23 X -> active# X, active# U32 X -> active# X, active# U31(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1, active# U43 X -> active# X, active# U52(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1, active# U53 X -> active# X, active# U62 X -> active# X, active# U61(X1, X2) -> active# X1, active# U72 X -> active# X, active# U71(X1, X2) -> active# X1, active# and(X1, X2) -> active# X1} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1, [U11](x0, x1) = x0, [U22](x0, x1) = x0, [U31](x0, x1) = x0, [U42](x0, x1) = x0, [U52](x0, x1) = x0, [U61](x0, x1) = x0, [U71](x0, x1) = x0, [and](x0, x1) = x0 + 1, [mark](x0) = 0, [active](x0) = 0, [U12](x0) = x0, [isNeList](x0) = 0, [isList](x0) = 0, [U23](x0) = x0, [U32](x0) = x0, [isQid](x0) = 0, [U43](x0) = x0, [U53](x0) = x0, [U62](x0) = x0, [U72](x0) = x0, [isNePal](x0) = 0, [isPalListKind](x0) = 0, [isPal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = 0, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 0, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [active#](x0) = x0 Strict: active# and(X1, X2) -> active# X1 1 + 1X1 + 0X2 >= 0 + 1X1 active# U71(X1, X2) -> active# X1 0 + 1X1 + 0X2 >= 0 + 1X1 active# U72 X -> active# X 0 + 1X >= 0 + 1X active# U61(X1, X2) -> active# X1 0 + 1X1 + 0X2 >= 0 + 1X1 active# U62 X -> active# X 0 + 1X >= 0 + 1X active# U53 X -> active# X 0 + 1X >= 0 + 1X active# U51(X1, X2, X3) -> active# X1 0 + 1X1 + 0X2 + 0X3 >= 0 + 1X1 active# U52(X1, X2) -> active# X1 0 + 1X1 + 0X2 >= 0 + 1X1 active# U43 X -> active# X 0 + 1X >= 0 + 1X active# U41(X1, X2, X3) -> active# X1 0 + 1X1 + 0X2 + 0X3 >= 0 + 1X1 active# U42(X1, X2) -> active# X1 0 + 1X1 + 0X2 >= 0 + 1X1 active# U31(X1, X2) -> active# X1 0 + 1X1 + 0X2 >= 0 + 1X1 active# U32 X -> active# X 0 + 1X >= 0 + 1X active# U23 X -> active# X 0 + 1X >= 0 + 1X active# U21(X1, X2, X3) -> active# X1 0 + 1X1 + 0X2 + 0X3 >= 0 + 1X1 active# U22(X1, X2) -> active# X1 0 + 1X1 + 0X2 >= 0 + 1X1 active# U11(X1, X2) -> active# X1 0 + 1X1 + 0X2 >= 0 + 1X1 active# U12 X -> active# X 0 + 1X >= 0 + 1X active# __(X1, X2) -> active# X2 0 + 1X1 + 1X2 >= 0 + 1X2 active# __(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 2 >= 0 proper o() -> ok o() 2 >= 0 proper i() -> ok i() 2 >= 0 proper e() -> ok e() 2 >= 0 proper a() -> ok a() 1 >= 0 proper isPal X -> isPal proper X 2 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 1 + 0X >= 0 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isNePal X -> isNePal proper X 1 + 0X >= 0 + 0X proper U72 X -> U72 proper X 1 + 1X >= 1 + 1X proper U61(X1, X2) -> U61(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper U62 X -> U62 proper X 1 + 1X >= 1 + 1X proper U53 X -> U53 proper X 1 + 1X >= 1 + 1X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper U43 X -> U43 proper X 1 + 1X >= 1 + 1X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isQid X -> isQid proper X 1 + 0X >= 0 + 0X proper U32 X -> U32 proper X 1 + 1X >= 1 + 1X proper U23 X -> U23 proper X 1 + 1X >= 1 + 1X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper isList X -> isList proper X 1 + 0X >= 0 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper tt() -> ok tt() 1 >= 0 proper U11(X1, X2) -> U11(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 1 + 0X >= 0 + 0X proper U12 X -> U12 proper X 1 + 1X >= 1 + 1X proper nil() -> ok nil() 1 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isPal ok X -> ok isPal X 1 + 0X >= 0 + 0X isPalListKind ok X -> ok isPalListKind X 0 + 0X >= 0 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 0 + 0X U72 ok X -> ok U72 X 0 + 0X >= 0 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 0 + 0X U62 mark X -> mark U62 X 0 + 0X >= 0 + 0X U53 ok X -> ok U53 X 0 + 0X >= 0 + 0X U53 mark X -> mark U53 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U43 ok X -> ok U43 X 0 + 0X >= 0 + 0X U43 mark X -> mark U43 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isQid ok X -> ok isQid X 0 + 0X >= 0 + 0X U32 ok X -> ok U32 X 0 + 0X >= 0 + 0X U32 mark X -> mark U32 X 0 + 0X >= 0 + 0X U23 ok X -> ok U23 X 0 + 0X >= 0 + 0X U23 mark X -> mark U23 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 isList ok X -> ok isList X 0 + 0X >= 0 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 0 + 0X U12 ok X -> ok U12 X 0 + 0X >= 0 + 0X U12 mark X -> mark U12 X 0 + 0X >= 0 + 0X active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 0 + 0V active isPalListKind u() -> mark tt() 0 >= 0 active isPalListKind o() -> mark tt() 0 >= 0 active isPalListKind i() -> mark tt() 0 >= 0 active isPalListKind e() -> mark tt() 0 >= 0 active isPalListKind a() -> mark tt() 0 >= 0 active isPalListKind nil() -> mark tt() 0 >= 0 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 0 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 0 + 0X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 0 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 0 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 0 + 0V active U72 tt() -> mark tt() 0 >= 0 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 0 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 0 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 0 active U53 X -> U53 active X 0 + 0X >= 0 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 0 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 0 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 0 active U43 X -> U43 active X 0 + 0X >= 0 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 0 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 0 + 0V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 0 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 0 active isQid o() -> mark tt() 0 >= 0 active isQid i() -> mark tt() 0 >= 0 active isQid e() -> mark tt() 0 >= 0 active isQid a() -> mark tt() 0 >= 0 active U32 tt() -> mark tt() 0 >= 0 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 0 active U23 X -> U23 active X 0 + 0X >= 0 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 0 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 0 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 0 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 0 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 0 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 0 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 0 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 0 + 0V active U12 tt() -> mark tt() 0 >= 0 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 0 + 0X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 0 + 0X + 0Y + 0Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 0 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 0 + 0X __(ok X1, ok X2) -> ok __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 __(X1, mark X2) -> mark __(X1, X2) 0 + 1X1 + 0X2 >= 0 + 0X1 + 0X2 SCCS (1): Scc: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U12 X -> active# X, active# U11(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> active# X1, active# U23 X -> active# X, active# U32 X -> active# X, active# U31(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1, active# U43 X -> active# X, active# U52(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1, active# U53 X -> active# X, active# U62 X -> active# X, active# U61(X1, X2) -> active# X1, active# U72 X -> active# X, active# U71(X1, X2) -> active# X1} SCC (19): Strict: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U12 X -> active# X, active# U11(X1, X2) -> active# X1, active# U22(X1, X2) -> active# X1, active# U21(X1, X2, X3) -> active# X1, active# U23 X -> active# X, active# U32 X -> active# X, active# U31(X1, X2) -> active# X1, active# U42(X1, X2) -> active# X1, active# U41(X1, X2, X3) -> active# X1, active# U43 X -> active# X, active# U52(X1, X2) -> active# X1, active# U51(X1, X2, X3) -> active# X1, active# U53 X -> active# X, active# U62 X -> active# X, active# U61(X1, X2) -> active# X1, active# U72 X -> active# X, active# U71(X1, X2) -> active# X1} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0 + 1, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0 + 1, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = x0 + 1, [U22](x0, x1) = x0 + 1, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = x0 + 1, [U52](x0, x1) = x0 + 1, [U61](x0, x1) = x0 + 1, [U71](x0, x1) = x0 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = x0 + 1, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = x0 + 1, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = x0 + 1, [U72](x0) = x0 + 1, [isNePal](x0) = 0, [isPalListKind](x0) = x0 + 1, [isPal](x0) = x0 + 1, [proper](x0) = x0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [active#](x0) = x0 + 1 Strict: active# U71(X1, X2) -> active# X1 2 + 1X1 + 0X2 >= 1 + 1X1 active# U72 X -> active# X 2 + 1X >= 1 + 1X active# U61(X1, X2) -> active# X1 2 + 1X1 + 0X2 >= 1 + 1X1 active# U62 X -> active# X 2 + 1X >= 1 + 1X active# U53 X -> active# X 2 + 1X >= 1 + 1X active# U51(X1, X2, X3) -> active# X1 2 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 active# U52(X1, X2) -> active# X1 2 + 1X1 + 0X2 >= 1 + 1X1 active# U43 X -> active# X 2 + 1X >= 1 + 1X active# U41(X1, X2, X3) -> active# X1 2 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 active# U42(X1, X2) -> active# X1 2 + 1X1 + 0X2 >= 1 + 1X1 active# U31(X1, X2) -> active# X1 2 + 1X1 + 0X2 >= 1 + 1X1 active# U32 X -> active# X 2 + 1X >= 1 + 1X active# U23 X -> active# X 2 + 1X >= 1 + 1X active# U21(X1, X2, X3) -> active# X1 2 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 active# U22(X1, X2) -> active# X1 2 + 1X1 + 0X2 >= 1 + 1X1 active# U11(X1, X2) -> active# X1 2 + 1X1 + 0X2 >= 1 + 1X1 active# U12 X -> active# X 2 + 1X >= 1 + 1X active# __(X1, X2) -> active# X2 2 + 1X1 + 1X2 >= 1 + 1X2 active# __(X1, X2) -> active# X1 2 + 1X1 + 1X2 >= 1 + 1X1 Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 1 >= 2 proper o() -> ok o() 1 >= 2 proper i() -> ok i() 1 >= 2 proper e() -> ok e() 1 >= 2 proper a() -> ok a() 1 >= 2 proper isPal X -> isPal proper X 1 + 1X >= 1 + 1X proper isPalListKind X -> isPalListKind proper X 1 + 1X >= 1 + 1X proper and(X1, X2) -> and(proper X1, proper X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 1X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 1 + 1X >= 1 + 1X proper U61(X1, X2) -> U61(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper U62 X -> U62 proper X 1 + 1X >= 1 + 1X proper U53 X -> U53 proper X 1 + 1X >= 1 + 1X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper U43 X -> U43 proper X 1 + 1X >= 1 + 1X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isQid X -> isQid proper X 1 + 1X >= 1 + 1X proper U32 X -> U32 proper X 1 + 1X >= 1 + 1X proper U23 X -> U23 proper X 1 + 1X >= 1 + 1X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper isList X -> isList proper X 1 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper tt() -> ok tt() 1 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 1 + 1X >= 1 + 1X proper U12 X -> U12 proper X 1 + 1X >= 1 + 1X proper nil() -> ok nil() 1 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 2 + 1X >= 2 + 1X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 2 + 1X >= 2 + 1X U72 mark X -> mark U72 X 2 + 1X >= 2 + 1X U61(ok X1, ok X2) -> ok U61(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U62 ok X -> ok U62 X 2 + 1X >= 2 + 1X U62 mark X -> mark U62 X 2 + 1X >= 2 + 1X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 2 + 1X >= 2 + 1X U32 mark X -> mark U32 X 2 + 1X >= 2 + 1X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 2 + 1X >= 2 + 1X U12 mark X -> mark U12 X 2 + 1X >= 2 + 1X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 1V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 1V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 2 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 1P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 3 + 1V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 1 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 3 + 1V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 1 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 3 + 1V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 3 + 1V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 1 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 1V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 3 + 1V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 3 + 1V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 1V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 1V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 1V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 1 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (40): Strict: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U12 X -> proper# X, proper# isNeList X -> proper# X, proper# U11(X1, X2) -> proper# X1, proper# U11(X1, X2) -> proper# X2, proper# U22(X1, X2) -> proper# X1, proper# U22(X1, X2) -> proper# X2, proper# isList X -> proper# X, proper# U21(X1, X2, X3) -> proper# X1, proper# U21(X1, X2, X3) -> proper# X2, proper# U21(X1, X2, X3) -> proper# X3, proper# U23 X -> proper# X, proper# U32 X -> proper# X, proper# isQid X -> proper# X, proper# U31(X1, X2) -> proper# X1, proper# U31(X1, X2) -> proper# X2, proper# U42(X1, X2) -> proper# X1, proper# U42(X1, X2) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X1, proper# U41(X1, X2, X3) -> proper# X2, proper# U41(X1, X2, X3) -> proper# X3, proper# U43 X -> proper# X, proper# U52(X1, X2) -> proper# X1, proper# U52(X1, X2) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X1, proper# U51(X1, X2, X3) -> proper# X2, proper# U51(X1, X2, X3) -> proper# X3, proper# U53 X -> proper# X, proper# U62 X -> proper# X, proper# U61(X1, X2) -> proper# X1, proper# U61(X1, X2) -> proper# X2, proper# U72 X -> proper# X, proper# isNePal X -> proper# X, proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2, proper# and(X1, X2) -> proper# X1, proper# and(X1, X2) -> proper# X2, proper# isPalListKind X -> proper# X, proper# isPal X -> proper# X} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0 + x1 + x2 + 1, [U41](x0, x1, x2) = x0 + x1 + x2 + 1, [U51](x0, x1, x2) = x0 + x1 + x2 + 1, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = x0 + x1 + 1, [U22](x0, x1) = x0 + x1 + 1, [U31](x0, x1) = x0 + x1 + 1, [U42](x0, x1) = x0 + x1 + 1, [U52](x0, x1) = x0 + x1 + 1, [U61](x0, x1) = x0 + x1 + 1, [U71](x0, x1) = x0 + x1 + 1, [and](x0, x1) = x0 + x1 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = x0, [isNeList](x0) = x0 + 1, [isList](x0) = x0 + 1, [U23](x0) = x0 + 1, [U32](x0) = x0 + 1, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = x0 + 1, [U72](x0) = x0 + 1, [isNePal](x0) = x0 + 1, [isPalListKind](x0) = x0 + 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = 0, [top](x0) = 0, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [proper#](x0) = x0 + 1 Strict: proper# isPal X -> proper# X 2 + 1X >= 1 + 1X proper# isPalListKind X -> proper# X 2 + 1X >= 1 + 1X proper# and(X1, X2) -> proper# X2 2 + 1X1 + 1X2 >= 1 + 1X2 proper# and(X1, X2) -> proper# X1 2 + 1X1 + 1X2 >= 1 + 1X1 proper# U71(X1, X2) -> proper# X2 2 + 1X1 + 1X2 >= 1 + 1X2 proper# U71(X1, X2) -> proper# X1 2 + 1X1 + 1X2 >= 1 + 1X1 proper# isNePal X -> proper# X 2 + 1X >= 1 + 1X proper# U72 X -> proper# X 2 + 1X >= 1 + 1X proper# U61(X1, X2) -> proper# X2 2 + 1X1 + 1X2 >= 1 + 1X2 proper# U61(X1, X2) -> proper# X1 2 + 1X1 + 1X2 >= 1 + 1X1 proper# U62 X -> proper# X 2 + 1X >= 1 + 1X proper# U53 X -> proper# X 2 + 1X >= 1 + 1X proper# U51(X1, X2, X3) -> proper# X3 2 + 1X1 + 1X2 + 1X3 >= 1 + 1X3 proper# U51(X1, X2, X3) -> proper# X2 2 + 1X1 + 1X2 + 1X3 >= 1 + 1X2 proper# U51(X1, X2, X3) -> proper# X1 2 + 1X1 + 1X2 + 1X3 >= 1 + 1X1 proper# U52(X1, X2) -> proper# X2 2 + 1X1 + 1X2 >= 1 + 1X2 proper# U52(X1, X2) -> proper# X1 2 + 1X1 + 1X2 >= 1 + 1X1 proper# U43 X -> proper# X 2 + 1X >= 1 + 1X proper# U41(X1, X2, X3) -> proper# X3 2 + 1X1 + 1X2 + 1X3 >= 1 + 1X3 proper# U41(X1, X2, X3) -> proper# X2 2 + 1X1 + 1X2 + 1X3 >= 1 + 1X2 proper# U41(X1, X2, X3) -> proper# X1 2 + 1X1 + 1X2 + 1X3 >= 1 + 1X1 proper# U42(X1, X2) -> proper# X2 2 + 1X1 + 1X2 >= 1 + 1X2 proper# U42(X1, X2) -> proper# X1 2 + 1X1 + 1X2 >= 1 + 1X1 proper# U31(X1, X2) -> proper# X2 2 + 1X1 + 1X2 >= 1 + 1X2 proper# U31(X1, X2) -> proper# X1 2 + 1X1 + 1X2 >= 1 + 1X1 proper# isQid X -> proper# X 2 + 1X >= 1 + 1X proper# U32 X -> proper# X 2 + 1X >= 1 + 1X proper# U23 X -> proper# X 2 + 1X >= 1 + 1X proper# U21(X1, X2, X3) -> proper# X3 2 + 1X1 + 1X2 + 1X3 >= 1 + 1X3 proper# U21(X1, X2, X3) -> proper# X2 2 + 1X1 + 1X2 + 1X3 >= 1 + 1X2 proper# U21(X1, X2, X3) -> proper# X1 2 + 1X1 + 1X2 + 1X3 >= 1 + 1X1 proper# isList X -> proper# X 2 + 1X >= 1 + 1X proper# U22(X1, X2) -> proper# X2 2 + 1X1 + 1X2 >= 1 + 1X2 proper# U22(X1, X2) -> proper# X1 2 + 1X1 + 1X2 >= 1 + 1X1 proper# U11(X1, X2) -> proper# X2 2 + 1X1 + 1X2 >= 1 + 1X2 proper# U11(X1, X2) -> proper# X1 2 + 1X1 + 1X2 >= 1 + 1X1 proper# isNeList X -> proper# X 2 + 1X >= 1 + 1X proper# U12 X -> proper# X 1 + 1X >= 1 + 1X proper# __(X1, X2) -> proper# X2 2 + 1X1 + 1X2 >= 1 + 1X2 proper# __(X1, X2) -> proper# X1 2 + 1X1 + 1X2 >= 1 + 1X1 Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 0 >= 0 proper o() -> ok o() 0 >= 0 proper i() -> ok i() 0 >= 0 proper e() -> ok e() 0 >= 0 proper a() -> ok a() 0 >= 0 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper U72 X -> U72 proper X 0 + 0X >= 1 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 1 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 1 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 0 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 0X >= 0 + 0X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 0 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 and(mark X1, X2) -> mark and(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 0 + 0X U72 ok X -> ok U72 X 1 + 0X >= 0 + 0X U72 mark X -> mark U72 X 2 + 1X >= 2 + 1X U61(ok X1, ok X2) -> ok U61(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U62 ok X -> ok U62 X 1 + 0X >= 0 + 0X U62 mark X -> mark U62 X 2 + 1X >= 2 + 1X U53 ok X -> ok U53 X 1 + 0X >= 0 + 0X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 2 + 1X1 + 1X2 + 1X3 >= 2 + 1X1 + 1X2 + 1X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U43 ok X -> ok U43 X 1 + 0X >= 0 + 0X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 1 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 1X2 + 1X3 >= 2 + 1X1 + 1X2 + 1X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U32 ok X -> ok U32 X 1 + 0X >= 0 + 0X U32 mark X -> mark U32 X 2 + 1X >= 2 + 1X U23 ok X -> ok U23 X 1 + 0X >= 0 + 0X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 2 + 1X1 + 1X2 + 1X3 >= 2 + 1X1 + 1X2 + 1X3 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U12 ok X -> ok U12 X 0 + 0X >= 0 + 0X U12 mark X -> mark U12 X 1 + 1X >= 1 + 1X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 2V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 4 + 1V1 + 1V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 3 + 1V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 8 + 2I + 2P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 3 + 2V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 1 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 3 + 1V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 1 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 3 + 1V1 + 1V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 1X2 + 1X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 1V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 3 + 1V1 + 1V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 1X2 + 1X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 3 + 1V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 1 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 3 + 1V1 + 1V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 1X2 + 1X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 5 + 2V1 + 2V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 3 + 2V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 1V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 2 + 1V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 5 + 2V1 + 2V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 5 + 2V1 + 2V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 2V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 SCCS (1): Scc: {proper# U12 X -> proper# X} SCC (1): Strict: {proper# U12 X -> proper# X} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = x0 + 1, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [proper#](x0) = x0 + 1 Strict: proper# U12 X -> proper# X 2 + 1X >= 1 + 1X Weak: top ok X -> top active X 1 + 0X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 0 proper o() -> ok o() 0 >= 0 proper i() -> ok i() 0 >= 0 proper e() -> ok e() 0 >= 0 proper a() -> ok a() 0 >= 0 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 0 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 1 + 0X proper nil() -> ok nil() 0 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 0X >= 0 + 0X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 0 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 0 + 0X U72 ok X -> ok U72 X 0 + 0X >= 0 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 0 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 1 + 0X >= 0 + 0X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 1 + 0X >= 0 + 0X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 1 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U32 ok X -> ok U32 X 0 + 0X >= 0 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 1 + 0X >= 0 + 0X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U12 ok X -> ok U12 X 1 + 0X >= 0 + 0X U12 mark X -> mark U12 X 2 + 1X >= 2 + 1X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 3 + 1V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 1 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (1): Strict: {isPal# ok X -> isPal# X} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [isPal#](x0) = x0 + 1 Strict: isPal# ok X -> isPal# X 2 + 1X >= 1 + 1X Weak: top ok X -> top active X 2 + 1X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 2 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 1 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: { and#(mark X1, X2) -> and#(X1, X2), and#(ok X1, ok X2) -> and#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + x1 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = x0 + 1, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [and#](x0, x1) = x0 Strict: and#(ok X1, ok X2) -> and#(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 and#(mark X1, X2) -> and#(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 2 >= 2 proper o() -> ok o() 2 >= 2 proper i() -> ok i() 2 >= 2 proper e() -> ok e() 2 >= 2 proper a() -> ok a() 2 >= 2 proper isPal X -> isPal proper X 2 + 1X >= 2 + 1X proper isPalListKind X -> isPalListKind proper X 2 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 proper isNePal X -> isNePal proper X 1 + 0X >= 0 + 0X proper U72 X -> U72 proper X 1 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 1 + 0X >= 0 + 0X proper U53 X -> U53 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isQid X -> isQid proper X 2 + 1X >= 2 + 1X proper U32 X -> U32 proper X 1 + 0X >= 0 + 0X proper U23 X -> U23 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 2 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 1X >= 2 + 1X proper U12 X -> U12 proper X 1 + 0X >= 0 + 0X proper nil() -> ok nil() 2 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 1V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 SCCS (1): Scc: {and#(mark X1, X2) -> and#(X1, X2)} SCC (1): Strict: {and#(mark X1, X2) -> and#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [and#](x0, x1) = x0 + 1 Strict: and#(mark X1, X2) -> and#(X1, X2) 2 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 Weak: top ok X -> top active X 1 + 0X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 0 proper o() -> ok o() 0 >= 0 proper i() -> ok i() 0 >= 0 proper e() -> ok e() 0 >= 0 proper a() -> ok a() 0 >= 0 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 0 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 0X >= 0 + 0X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 0 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 0 + 0X U72 ok X -> ok U72 X 0 + 0X >= 0 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 0 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 1 + 0X >= 0 + 0X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 1 + 0X >= 0 + 0X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 1 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U32 ok X -> ok U32 X 0 + 0X >= 0 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 1 + 0X >= 0 + 0X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U12 ok X -> ok U12 X 0 + 0X >= 0 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: { U71#(mark X1, X2) -> U71#(X1, X2), U71#(ok X1, ok X2) -> U71#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + x1 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = x0 + 1, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U71#](x0, x1) = x0 Strict: U71#(ok X1, ok X2) -> U71#(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 U71#(mark X1, X2) -> U71#(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 2 >= 2 proper o() -> ok o() 2 >= 2 proper i() -> ok i() 2 >= 2 proper e() -> ok e() 2 >= 2 proper a() -> ok a() 2 >= 2 proper isPal X -> isPal proper X 2 + 1X >= 2 + 1X proper isPalListKind X -> isPalListKind proper X 2 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 proper isNePal X -> isNePal proper X 1 + 0X >= 0 + 0X proper U72 X -> U72 proper X 1 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 1 + 0X >= 0 + 0X proper U53 X -> U53 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isQid X -> isQid proper X 2 + 1X >= 2 + 1X proper U32 X -> U32 proper X 1 + 0X >= 0 + 0X proper U23 X -> U23 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 2 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 1X >= 2 + 1X proper U12 X -> U12 proper X 1 + 0X >= 0 + 0X proper nil() -> ok nil() 2 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 1V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 SCCS (1): Scc: {U71#(mark X1, X2) -> U71#(X1, X2)} SCC (1): Strict: {U71#(mark X1, X2) -> U71#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U71#](x0, x1) = x0 + 1 Strict: U71#(mark X1, X2) -> U71#(X1, X2) 2 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 Weak: top ok X -> top active X 1 + 0X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 0 proper o() -> ok o() 0 >= 0 proper i() -> ok i() 0 >= 0 proper e() -> ok e() 0 >= 0 proper a() -> ok a() 0 >= 0 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 0 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 0X >= 0 + 0X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 0 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 0 + 0X U72 ok X -> ok U72 X 0 + 0X >= 0 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 0 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 1 + 0X >= 0 + 0X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 1 + 0X >= 0 + 0X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 1 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U32 ok X -> ok U32 X 0 + 0X >= 0 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 1 + 0X >= 0 + 0X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U12 ok X -> ok U12 X 0 + 0X >= 0 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (1): Strict: {isNePal# ok X -> isNePal# X} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [isNePal#](x0) = x0 + 1 Strict: isNePal# ok X -> isNePal# X 2 + 1X >= 1 + 1X Weak: top ok X -> top active X 2 + 1X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 2 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 1 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: {U72# mark X -> U72# X, U72# ok X -> U72# X} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U72#](x0) = x0 + 1 Strict: U72# ok X -> U72# X 2 + 1X >= 1 + 1X U72# mark X -> U72# X 2 + 1X >= 1 + 1X Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 2 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 0V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: { U61#(mark X1, X2) -> U61#(X1, X2), U61#(ok X1, ok X2) -> U61#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + x1 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = x0 + 1, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U61#](x0, x1) = x0 Strict: U61#(ok X1, ok X2) -> U61#(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 U61#(mark X1, X2) -> U61#(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 2 >= 2 proper o() -> ok o() 2 >= 2 proper i() -> ok i() 2 >= 2 proper e() -> ok e() 2 >= 2 proper a() -> ok a() 2 >= 2 proper isPal X -> isPal proper X 2 + 1X >= 2 + 1X proper isPalListKind X -> isPalListKind proper X 2 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 proper isNePal X -> isNePal proper X 1 + 0X >= 0 + 0X proper U72 X -> U72 proper X 1 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 1 + 0X >= 0 + 0X proper U53 X -> U53 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isQid X -> isQid proper X 2 + 1X >= 2 + 1X proper U32 X -> U32 proper X 1 + 0X >= 0 + 0X proper U23 X -> U23 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 2 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 1X >= 2 + 1X proper U12 X -> U12 proper X 1 + 0X >= 0 + 0X proper nil() -> ok nil() 2 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 1V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 SCCS (1): Scc: {U61#(mark X1, X2) -> U61#(X1, X2)} SCC (1): Strict: {U61#(mark X1, X2) -> U61#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U61#](x0, x1) = x0 + 1 Strict: U61#(mark X1, X2) -> U61#(X1, X2) 2 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 Weak: top ok X -> top active X 1 + 0X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 0 proper o() -> ok o() 0 >= 0 proper i() -> ok i() 0 >= 0 proper e() -> ok e() 0 >= 0 proper a() -> ok a() 0 >= 0 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 0 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 0X >= 0 + 0X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 0 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 0 + 0X U72 ok X -> ok U72 X 0 + 0X >= 0 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 0 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 1 + 0X >= 0 + 0X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 1 + 0X >= 0 + 0X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 1 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U32 ok X -> ok U32 X 0 + 0X >= 0 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 1 + 0X >= 0 + 0X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U12 ok X -> ok U12 X 0 + 0X >= 0 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: {U62# mark X -> U62# X, U62# ok X -> U62# X} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U62#](x0) = x0 + 1 Strict: U62# ok X -> U62# X 2 + 1X >= 1 + 1X U62# mark X -> U62# X 2 + 1X >= 1 + 1X Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 2 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 0V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: {U53# mark X -> U53# X, U53# ok X -> U53# X} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U53#](x0) = x0 + 1 Strict: U53# ok X -> U53# X 2 + 1X >= 1 + 1X U53# mark X -> U53# X 2 + 1X >= 1 + 1X Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 2 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 0V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: { U52#(mark X1, X2) -> U52#(X1, X2), U52#(ok X1, ok X2) -> U52#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + x1 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = x0 + 1, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U52#](x0, x1) = x0 Strict: U52#(ok X1, ok X2) -> U52#(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 U52#(mark X1, X2) -> U52#(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 2 >= 2 proper o() -> ok o() 2 >= 2 proper i() -> ok i() 2 >= 2 proper e() -> ok e() 2 >= 2 proper a() -> ok a() 2 >= 2 proper isPal X -> isPal proper X 2 + 1X >= 2 + 1X proper isPalListKind X -> isPalListKind proper X 2 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 proper isNePal X -> isNePal proper X 1 + 0X >= 0 + 0X proper U72 X -> U72 proper X 1 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 1 + 0X >= 0 + 0X proper U53 X -> U53 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isQid X -> isQid proper X 2 + 1X >= 2 + 1X proper U32 X -> U32 proper X 1 + 0X >= 0 + 0X proper U23 X -> U23 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 2 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 1X >= 2 + 1X proper U12 X -> U12 proper X 1 + 0X >= 0 + 0X proper nil() -> ok nil() 2 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 1V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 SCCS (1): Scc: {U52#(mark X1, X2) -> U52#(X1, X2)} SCC (1): Strict: {U52#(mark X1, X2) -> U52#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U52#](x0, x1) = x0 + 1 Strict: U52#(mark X1, X2) -> U52#(X1, X2) 2 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 Weak: top ok X -> top active X 1 + 0X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 0 proper o() -> ok o() 0 >= 0 proper i() -> ok i() 0 >= 0 proper e() -> ok e() 0 >= 0 proper a() -> ok a() 0 >= 0 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 0 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 0X >= 0 + 0X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 0 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 0 + 0X U72 ok X -> ok U72 X 0 + 0X >= 0 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 0 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 1 + 0X >= 0 + 0X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 1 + 0X >= 0 + 0X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 1 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U32 ok X -> ok U32 X 0 + 0X >= 0 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 1 + 0X >= 0 + 0X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U12 ok X -> ok U12 X 0 + 0X >= 0 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: {U43# mark X -> U43# X, U43# ok X -> U43# X} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U43#](x0) = x0 + 1 Strict: U43# ok X -> U43# X 2 + 1X >= 1 + 1X U43# mark X -> U43# X 2 + 1X >= 1 + 1X Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 2 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 0V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: { U42#(mark X1, X2) -> U42#(X1, X2), U42#(ok X1, ok X2) -> U42#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + x1 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = x0 + 1, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U42#](x0, x1) = x0 Strict: U42#(ok X1, ok X2) -> U42#(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 U42#(mark X1, X2) -> U42#(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 2 >= 2 proper o() -> ok o() 2 >= 2 proper i() -> ok i() 2 >= 2 proper e() -> ok e() 2 >= 2 proper a() -> ok a() 2 >= 2 proper isPal X -> isPal proper X 2 + 1X >= 2 + 1X proper isPalListKind X -> isPalListKind proper X 2 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 proper isNePal X -> isNePal proper X 1 + 0X >= 0 + 0X proper U72 X -> U72 proper X 1 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 1 + 0X >= 0 + 0X proper U53 X -> U53 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isQid X -> isQid proper X 2 + 1X >= 2 + 1X proper U32 X -> U32 proper X 1 + 0X >= 0 + 0X proper U23 X -> U23 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 2 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 1X >= 2 + 1X proper U12 X -> U12 proper X 1 + 0X >= 0 + 0X proper nil() -> ok nil() 2 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 1V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 SCCS (1): Scc: {U42#(mark X1, X2) -> U42#(X1, X2)} SCC (1): Strict: {U42#(mark X1, X2) -> U42#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U42#](x0, x1) = x0 + 1 Strict: U42#(mark X1, X2) -> U42#(X1, X2) 2 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 Weak: top ok X -> top active X 1 + 0X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 0 proper o() -> ok o() 0 >= 0 proper i() -> ok i() 0 >= 0 proper e() -> ok e() 0 >= 0 proper a() -> ok a() 0 >= 0 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 0 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 0X >= 0 + 0X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 0 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 0 + 0X U72 ok X -> ok U72 X 0 + 0X >= 0 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 0 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 1 + 0X >= 0 + 0X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 1 + 0X >= 0 + 0X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 1 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U32 ok X -> ok U32 X 0 + 0X >= 0 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 1 + 0X >= 0 + 0X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U12 ok X -> ok U12 X 0 + 0X >= 0 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: { U31#(mark X1, X2) -> U31#(X1, X2), U31#(ok X1, ok X2) -> U31#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + x1 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = x0 + 1, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U31#](x0, x1) = x0 Strict: U31#(ok X1, ok X2) -> U31#(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 U31#(mark X1, X2) -> U31#(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 2 >= 2 proper o() -> ok o() 2 >= 2 proper i() -> ok i() 2 >= 2 proper e() -> ok e() 2 >= 2 proper a() -> ok a() 2 >= 2 proper isPal X -> isPal proper X 2 + 1X >= 2 + 1X proper isPalListKind X -> isPalListKind proper X 2 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 proper isNePal X -> isNePal proper X 1 + 0X >= 0 + 0X proper U72 X -> U72 proper X 1 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 1 + 0X >= 0 + 0X proper U53 X -> U53 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isQid X -> isQid proper X 2 + 1X >= 2 + 1X proper U32 X -> U32 proper X 1 + 0X >= 0 + 0X proper U23 X -> U23 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 2 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 1X >= 2 + 1X proper U12 X -> U12 proper X 1 + 0X >= 0 + 0X proper nil() -> ok nil() 2 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 1V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 SCCS (1): Scc: {U31#(mark X1, X2) -> U31#(X1, X2)} SCC (1): Strict: {U31#(mark X1, X2) -> U31#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U31#](x0, x1) = x0 + 1 Strict: U31#(mark X1, X2) -> U31#(X1, X2) 2 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 Weak: top ok X -> top active X 1 + 0X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 0 proper o() -> ok o() 0 >= 0 proper i() -> ok i() 0 >= 0 proper e() -> ok e() 0 >= 0 proper a() -> ok a() 0 >= 0 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 0 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 0X >= 0 + 0X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 0 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 0 + 0X U72 ok X -> ok U72 X 0 + 0X >= 0 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 0 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 1 + 0X >= 0 + 0X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 1 + 0X >= 0 + 0X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 1 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U32 ok X -> ok U32 X 0 + 0X >= 0 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 1 + 0X >= 0 + 0X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U12 ok X -> ok U12 X 0 + 0X >= 0 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (1): Strict: {isQid# ok X -> isQid# X} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [isQid#](x0) = x0 + 1 Strict: isQid# ok X -> isQid# X 2 + 1X >= 1 + 1X Weak: top ok X -> top active X 2 + 1X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 2 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 1 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: {U32# mark X -> U32# X, U32# ok X -> U32# X} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U32#](x0) = x0 + 1 Strict: U32# ok X -> U32# X 2 + 1X >= 1 + 1X U32# mark X -> U32# X 2 + 1X >= 1 + 1X Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 2 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 0V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: {U23# mark X -> U23# X, U23# ok X -> U23# X} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U23#](x0) = x0 + 1 Strict: U23# ok X -> U23# X 2 + 1X >= 1 + 1X U23# mark X -> U23# X 2 + 1X >= 1 + 1X Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 2 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 0V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: { U22#(mark X1, X2) -> U22#(X1, X2), U22#(ok X1, ok X2) -> U22#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + x1 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = x0 + 1, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U22#](x0, x1) = x0 Strict: U22#(ok X1, ok X2) -> U22#(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 U22#(mark X1, X2) -> U22#(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 2 >= 2 proper o() -> ok o() 2 >= 2 proper i() -> ok i() 2 >= 2 proper e() -> ok e() 2 >= 2 proper a() -> ok a() 2 >= 2 proper isPal X -> isPal proper X 2 + 1X >= 2 + 1X proper isPalListKind X -> isPalListKind proper X 2 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 proper isNePal X -> isNePal proper X 1 + 0X >= 0 + 0X proper U72 X -> U72 proper X 1 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 1 + 0X >= 0 + 0X proper U53 X -> U53 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isQid X -> isQid proper X 2 + 1X >= 2 + 1X proper U32 X -> U32 proper X 1 + 0X >= 0 + 0X proper U23 X -> U23 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 2 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 1X >= 2 + 1X proper U12 X -> U12 proper X 1 + 0X >= 0 + 0X proper nil() -> ok nil() 2 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 1V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 SCCS (1): Scc: {U22#(mark X1, X2) -> U22#(X1, X2)} SCC (1): Strict: {U22#(mark X1, X2) -> U22#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U22#](x0, x1) = x0 + 1 Strict: U22#(mark X1, X2) -> U22#(X1, X2) 2 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 Weak: top ok X -> top active X 1 + 0X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 0 proper o() -> ok o() 0 >= 0 proper i() -> ok i() 0 >= 0 proper e() -> ok e() 0 >= 0 proper a() -> ok a() 0 >= 0 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 0 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 0X >= 0 + 0X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 0 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 0 + 0X U72 ok X -> ok U72 X 0 + 0X >= 0 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 0 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 1 + 0X >= 0 + 0X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 1 + 0X >= 0 + 0X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 1 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U32 ok X -> ok U32 X 0 + 0X >= 0 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 1 + 0X >= 0 + 0X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U12 ok X -> ok U12 X 0 + 0X >= 0 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: { U11#(mark X1, X2) -> U11#(X1, X2), U11#(ok X1, ok X2) -> U11#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + x1 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = x0 + 1, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U11#](x0, x1) = x0 Strict: U11#(ok X1, ok X2) -> U11#(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 U11#(mark X1, X2) -> U11#(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 2 >= 2 proper o() -> ok o() 2 >= 2 proper i() -> ok i() 2 >= 2 proper e() -> ok e() 2 >= 2 proper a() -> ok a() 2 >= 2 proper isPal X -> isPal proper X 2 + 1X >= 2 + 1X proper isPalListKind X -> isPalListKind proper X 2 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 proper isNePal X -> isNePal proper X 1 + 0X >= 0 + 0X proper U72 X -> U72 proper X 1 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 1 + 0X >= 0 + 0X proper U53 X -> U53 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isQid X -> isQid proper X 2 + 1X >= 2 + 1X proper U32 X -> U32 proper X 1 + 0X >= 0 + 0X proper U23 X -> U23 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 2 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 1X >= 2 + 1X proper U12 X -> U12 proper X 1 + 0X >= 0 + 0X proper nil() -> ok nil() 2 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 1V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 SCCS (1): Scc: {U11#(mark X1, X2) -> U11#(X1, X2)} SCC (1): Strict: {U11#(mark X1, X2) -> U11#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U11#](x0, x1) = x0 + 1 Strict: U11#(mark X1, X2) -> U11#(X1, X2) 2 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 Weak: top ok X -> top active X 1 + 0X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 0 proper o() -> ok o() 0 >= 0 proper i() -> ok i() 0 >= 0 proper e() -> ok e() 0 >= 0 proper a() -> ok a() 0 >= 0 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 0 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 0X >= 0 + 0X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 0 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 0 + 0X U72 ok X -> ok U72 X 0 + 0X >= 0 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 0 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 1 + 0X >= 0 + 0X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 1 + 0X >= 0 + 0X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 1 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U32 ok X -> ok U32 X 0 + 0X >= 0 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 1 + 0X >= 0 + 0X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U12 ok X -> ok U12 X 0 + 0X >= 0 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: {U12# mark X -> U12# X, U12# ok X -> U12# X} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U12#](x0) = x0 + 1 Strict: U12# ok X -> U12# X 2 + 1X >= 1 + 1X U12# mark X -> U12# X 2 + 1X >= 1 + 1X Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 2 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 0V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (3): Strict: { __#(X1, mark X2) -> __#(X1, X2), __#(mark X1, X2) -> __#(X1, X2), __#(ok X1, ok X2) -> __#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [__#](x0, x1) = x0 + 1 Strict: __#(ok X1, ok X2) -> __#(X1, X2) 2 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 __#(mark X1, X2) -> __#(X1, X2) 2 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 __#(X1, mark X2) -> __#(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 2 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 0V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 SCCS (1): Scc: {__#(X1, mark X2) -> __#(X1, X2)} SCC (1): Strict: {__#(X1, mark X2) -> __#(X1, X2)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [__#](x0, x1) = x0 + 1 Strict: __#(X1, mark X2) -> __#(X1, X2) 2 + 0X1 + 1X2 >= 1 + 0X1 + 1X2 Weak: top ok X -> top active X 1 + 0X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 0 proper o() -> ok o() 0 >= 0 proper i() -> ok i() 0 >= 0 proper e() -> ok e() 0 >= 0 proper a() -> ok a() 0 >= 0 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 0 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 0X >= 0 + 0X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 0 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 0 + 0X U72 ok X -> ok U72 X 0 + 0X >= 0 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 0 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 1 + 0X >= 0 + 0X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 1 + 0X >= 0 + 0X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 1 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U32 ok X -> ok U32 X 0 + 0X >= 0 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 1 + 0X >= 0 + 0X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U12 ok X -> ok U12 X 0 + 0X >= 0 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: { U21#(mark X1, X2, X3) -> U21#(X1, X2, X3), U21#(ok X1, ok X2, ok X3) -> U21#(X1, X2, X3)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = x0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U21#](x0, x1, x2) = x0 Strict: U21#(ok X1, ok X2, ok X3) -> U21#(X1, X2, X3) 1 + 0X1 + 0X2 + 1X3 >= 0 + 0X1 + 0X2 + 1X3 U21#(mark X1, X2, X3) -> U21#(X1, X2, X3) 0 + 0X1 + 0X2 + 1X3 >= 0 + 0X1 + 0X2 + 1X3 Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 1 >= 2 proper o() -> ok o() 1 >= 2 proper i() -> ok i() 1 >= 2 proper e() -> ok e() 1 >= 2 proper a() -> ok a() 1 >= 2 proper isPal X -> isPal proper X 1 + 1X >= 1 + 1X proper isPalListKind X -> isPalListKind proper X 1 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 1X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 1 + 1X >= 1 + 1X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 1X1 + 0X2 + 0X3 >= 0 + 1X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 1 + 1X >= 1 + 1X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isQid X -> isQid proper X 1 + 1X >= 1 + 1X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 1 + 1X >= 1 + 1X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 1X1 + 0X2 + 0X3 >= 0 + 1X1 + 0X2 + 0X3 proper isList X -> isList proper X 1 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 1 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 1 + 1X >= 1 + 1X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 1 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 0V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 SCCS (1): Scc: {U21#(mark X1, X2, X3) -> U21#(X1, X2, X3)} SCC (1): Strict: {U21#(mark X1, X2, X3) -> U21#(X1, X2, X3)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U21#](x0, x1, x2) = x0 + 1 Strict: U21#(mark X1, X2, X3) -> U21#(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 Weak: top ok X -> top active X 1 + 0X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 0 proper o() -> ok o() 0 >= 0 proper i() -> ok i() 0 >= 0 proper e() -> ok e() 0 >= 0 proper a() -> ok a() 0 >= 0 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 0 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 0X >= 0 + 0X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 0 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 0 + 0X U72 ok X -> ok U72 X 0 + 0X >= 0 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 0 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 1 + 0X >= 0 + 0X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 1 + 0X >= 0 + 0X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 1 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U32 ok X -> ok U32 X 0 + 0X >= 0 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 1 + 0X >= 0 + 0X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U12 ok X -> ok U12 X 0 + 0X >= 0 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: { U51#(mark X1, X2, X3) -> U51#(X1, X2, X3), U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = x0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U51#](x0, x1, x2) = x0 Strict: U51#(ok X1, ok X2, ok X3) -> U51#(X1, X2, X3) 1 + 0X1 + 0X2 + 1X3 >= 0 + 0X1 + 0X2 + 1X3 U51#(mark X1, X2, X3) -> U51#(X1, X2, X3) 0 + 0X1 + 0X2 + 1X3 >= 0 + 0X1 + 0X2 + 1X3 Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 1 >= 2 proper o() -> ok o() 1 >= 2 proper i() -> ok i() 1 >= 2 proper e() -> ok e() 1 >= 2 proper a() -> ok a() 1 >= 2 proper isPal X -> isPal proper X 1 + 1X >= 1 + 1X proper isPalListKind X -> isPalListKind proper X 1 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 1X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 1 + 1X >= 1 + 1X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 1X1 + 0X2 + 0X3 >= 0 + 1X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 1 + 1X >= 1 + 1X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isQid X -> isQid proper X 1 + 1X >= 1 + 1X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 1 + 1X >= 1 + 1X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 1X1 + 0X2 + 0X3 >= 0 + 1X1 + 0X2 + 0X3 proper isList X -> isList proper X 1 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 1 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 1 + 1X >= 1 + 1X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 1 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 0V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 SCCS (1): Scc: {U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)} SCC (1): Strict: {U51#(mark X1, X2, X3) -> U51#(X1, X2, X3)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U51#](x0, x1, x2) = x0 + 1 Strict: U51#(mark X1, X2, X3) -> U51#(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 Weak: top ok X -> top active X 1 + 0X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 0 proper o() -> ok o() 0 >= 0 proper i() -> ok i() 0 >= 0 proper e() -> ok e() 0 >= 0 proper a() -> ok a() 0 >= 0 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 0 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 0X >= 0 + 0X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 0 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 0 + 0X U72 ok X -> ok U72 X 0 + 0X >= 0 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 0 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 1 + 0X >= 0 + 0X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 1 + 0X >= 0 + 0X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 1 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U32 ok X -> ok U32 X 0 + 0X >= 0 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 1 + 0X >= 0 + 0X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U12 ok X -> ok U12 X 0 + 0X >= 0 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (2): Strict: { U41#(mark X1, X2, X3) -> U41#(X1, X2, X3), U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = x0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U41#](x0, x1, x2) = x0 Strict: U41#(ok X1, ok X2, ok X3) -> U41#(X1, X2, X3) 1 + 0X1 + 0X2 + 1X3 >= 0 + 0X1 + 0X2 + 1X3 U41#(mark X1, X2, X3) -> U41#(X1, X2, X3) 0 + 0X1 + 0X2 + 1X3 >= 0 + 0X1 + 0X2 + 1X3 Weak: top ok X -> top active X 0 + 0X >= 0 + 0X top mark X -> top proper X 0 + 0X >= 0 + 0X proper u() -> ok u() 1 >= 2 proper o() -> ok o() 1 >= 2 proper i() -> ok i() 1 >= 2 proper e() -> ok e() 1 >= 2 proper a() -> ok a() 1 >= 2 proper isPal X -> isPal proper X 1 + 1X >= 1 + 1X proper isPalListKind X -> isPalListKind proper X 1 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 1X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 1 + 1X >= 1 + 1X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 1X1 + 0X2 + 0X3 >= 0 + 1X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 1 + 1X >= 1 + 1X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isQid X -> isQid proper X 1 + 1X >= 1 + 1X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 1 + 1X >= 1 + 1X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 1X1 + 0X2 + 0X3 >= 0 + 1X1 + 0X2 + 0X3 proper isList X -> isList proper X 1 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 1 >= 2 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 1 + 1X >= 1 + 1X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 1 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 3 + 0V active isPalListKind u() -> mark tt() 0 >= 2 active isPalListKind o() -> mark tt() 0 >= 2 active isPalListKind i() -> mark tt() 0 >= 2 active isPalListKind e() -> mark tt() 0 >= 2 active isPalListKind a() -> mark tt() 0 >= 2 active isPalListKind nil() -> mark tt() 0 >= 2 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 2 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 2 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 2 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 2 active isQid o() -> mark tt() 0 >= 2 active isQid i() -> mark tt() 0 >= 2 active isQid e() -> mark tt() 0 >= 2 active isQid a() -> mark tt() 0 >= 2 active U32 tt() -> mark tt() 0 >= 2 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 2 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 2 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 SCCS (1): Scc: {U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)} SCC (1): Strict: {U41#(mark X1, X2, X3) -> U41#(X1, X2, X3)} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U41#](x0, x1, x2) = x0 + 1 Strict: U41#(mark X1, X2, X3) -> U41#(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 Weak: top ok X -> top active X 1 + 0X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 0 proper o() -> ok o() 0 >= 0 proper i() -> ok i() 0 >= 0 proper e() -> ok e() 0 >= 0 proper a() -> ok a() 0 >= 0 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 0 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 0X >= 0 + 0X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 0 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 0 + 0X U72 ok X -> ok U72 X 0 + 0X >= 0 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 0 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 1 + 0X >= 0 + 0X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 1 + 0X >= 0 + 0X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 1 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U32 ok X -> ok U32 X 0 + 0X >= 0 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 1 + 0X >= 0 + 0X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U12 ok X -> ok U12 X 0 + 0X >= 0 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (1): Strict: {isNeList# ok X -> isNeList# X} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [isNeList#](x0) = x0 + 1 Strict: isNeList# ok X -> isNeList# X 2 + 1X >= 1 + 1X Weak: top ok X -> top active X 2 + 1X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 2 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 1 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (1): Strict: {isList# ok X -> isList# X} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [isList#](x0) = x0 + 1 Strict: isList# ok X -> isList# X 2 + 1X >= 1 + 1X Weak: top ok X -> top active X 2 + 1X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 2 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 1 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed SCC (1): Strict: {isPalListKind# ok X -> isPalListKind# X} Weak: { __(X1, mark X2) -> mark __(X1, X2), __(mark X1, X2) -> mark __(X1, X2), __(ok X1, ok X2) -> ok __(X1, X2), active __(X, nil()) -> mark X, active __(X1, X2) -> __(X1, active X2), active __(X1, X2) -> __(active X1, X2), active __(__(X, Y), Z) -> mark __(X, __(Y, Z)), active __(nil(), X) -> mark X, active U12 X -> U12 active X, active U12 tt() -> mark tt(), active isNeList V -> mark U31(isPalListKind V, V), active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2), active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2), active U11(X1, X2) -> U11(active X1, X2), active U11(tt(), V) -> mark U12 isNeList V, active U22(X1, X2) -> U22(active X1, X2), active U22(tt(), V2) -> mark U23 isList V2, active isList V -> mark U11(isPalListKind V, V), active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2), active isList nil() -> mark tt(), active U21(X1, X2, X3) -> U21(active X1, X2, X3), active U21(tt(), V1, V2) -> mark U22(isList V1, V2), active U23 X -> U23 active X, active U23 tt() -> mark tt(), active U32 X -> U32 active X, active U32 tt() -> mark tt(), active isQid a() -> mark tt(), active isQid e() -> mark tt(), active isQid i() -> mark tt(), active isQid o() -> mark tt(), active isQid u() -> mark tt(), active U31(X1, X2) -> U31(active X1, X2), active U31(tt(), V) -> mark U32 isQid V, active U42(X1, X2) -> U42(active X1, X2), active U42(tt(), V2) -> mark U43 isNeList V2, active U41(X1, X2, X3) -> U41(active X1, X2, X3), active U41(tt(), V1, V2) -> mark U42(isList V1, V2), active U43 X -> U43 active X, active U43 tt() -> mark tt(), active U52(X1, X2) -> U52(active X1, X2), active U52(tt(), V2) -> mark U53 isList V2, active U51(X1, X2, X3) -> U51(active X1, X2, X3), active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2), active U53 X -> U53 active X, active U53 tt() -> mark tt(), active U62 X -> U62 active X, active U62 tt() -> mark tt(), active U61(X1, X2) -> U61(active X1, X2), active U61(tt(), V) -> mark U62 isQid V, active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isNePal V -> mark U61(isPalListKind V, V), active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), V) -> mark U72 isNePal V, active and(X1, X2) -> and(active X1, X2), active and(tt(), X) -> mark X, active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2), active isPalListKind nil() -> mark tt(), active isPalListKind a() -> mark tt(), active isPalListKind e() -> mark tt(), active isPalListKind i() -> mark tt(), active isPalListKind o() -> mark tt(), active isPalListKind u() -> mark tt(), active isPal V -> mark U71(isPalListKind V, V), active isPal nil() -> mark tt(), U12 mark X -> mark U12 X, U12 ok X -> ok U12 X, isNeList ok X -> ok isNeList X, U11(mark X1, X2) -> mark U11(X1, X2), U11(ok X1, ok X2) -> ok U11(X1, X2), U22(mark X1, X2) -> mark U22(X1, X2), U22(ok X1, ok X2) -> ok U22(X1, X2), isList ok X -> ok isList X, U21(mark X1, X2, X3) -> mark U21(X1, X2, X3), U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3), U23 mark X -> mark U23 X, U23 ok X -> ok U23 X, U32 mark X -> mark U32 X, U32 ok X -> ok U32 X, isQid ok X -> ok isQid X, U31(mark X1, X2) -> mark U31(X1, X2), U31(ok X1, ok X2) -> ok U31(X1, X2), U42(mark X1, X2) -> mark U42(X1, X2), U42(ok X1, ok X2) -> ok U42(X1, X2), U41(mark X1, X2, X3) -> mark U41(X1, X2, X3), U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3), U43 mark X -> mark U43 X, U43 ok X -> ok U43 X, U52(mark X1, X2) -> mark U52(X1, X2), U52(ok X1, ok X2) -> ok U52(X1, X2), U51(mark X1, X2, X3) -> mark U51(X1, X2, X3), U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3), U53 mark X -> mark U53 X, U53 ok X -> ok U53 X, U62 mark X -> mark U62 X, U62 ok X -> ok U62 X, U61(mark X1, X2) -> mark U61(X1, X2), U61(ok X1, ok X2) -> ok U61(X1, X2), U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isNePal ok X -> ok isNePal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), and(mark X1, X2) -> mark and(X1, X2), and(ok X1, ok X2) -> ok and(X1, X2), isPalListKind ok X -> ok isPalListKind X, isPal ok X -> ok isPal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper U12 X -> U12 proper X, proper isNeList X -> isNeList proper X, proper U11(X1, X2) -> U11(proper X1, proper X2), proper tt() -> ok tt(), proper U22(X1, X2) -> U22(proper X1, proper X2), proper isList X -> isList proper X, proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3), proper U23 X -> U23 proper X, proper U32 X -> U32 proper X, proper isQid X -> isQid proper X, proper U31(X1, X2) -> U31(proper X1, proper X2), proper U42(X1, X2) -> U42(proper X1, proper X2), proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3), proper U43 X -> U43 proper X, proper U52(X1, X2) -> U52(proper X1, proper X2), proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3), proper U53 X -> U53 proper X, proper U62 X -> U62 proper X, proper U61(X1, X2) -> U61(proper X1, proper X2), proper U72 X -> U72 proper X, proper isNePal X -> isNePal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper and(X1, X2) -> and(proper X1, proper X2), proper isPalListKind X -> isPalListKind proper X, proper isPal X -> isPal proper X, proper a() -> ok a(), proper e() -> ok e(), proper i() -> ok i(), proper o() -> ok o(), proper u() -> ok u(), top mark X -> top proper X, top ok X -> top active X} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [U21](x0, x1, x2) = x0, [U41](x0, x1, x2) = x0 + 1, [U51](x0, x1, x2) = x0, [__](x0, x1) = x0 + x1 + 1, [U11](x0, x1) = 0, [U22](x0, x1) = 0, [U31](x0, x1) = x0 + 1, [U42](x0, x1) = 0, [U52](x0, x1) = 0, [U61](x0, x1) = 0, [U71](x0, x1) = 0, [and](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U12](x0) = 0, [isNeList](x0) = x0 + 1, [isList](x0) = 1, [U23](x0) = x0 + 1, [U32](x0) = 0, [isQid](x0) = x0 + 1, [U43](x0) = x0 + 1, [U53](x0) = x0 + 1, [U62](x0) = 0, [U72](x0) = 0, [isNePal](x0) = 0, [isPalListKind](x0) = 1, [isPal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = x0 + 1, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [isPalListKind#](x0) = x0 + 1 Strict: isPalListKind# ok X -> isPalListKind# X 2 + 1X >= 1 + 1X Weak: top ok X -> top active X 2 + 1X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 0X proper u() -> ok u() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 2 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper isPalListKind X -> isPalListKind proper X 0 + 0X >= 1 + 0X proper and(X1, X2) -> and(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61(X1, X2) -> U61(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U62 X -> U62 proper X 0 + 0X >= 0 + 0X proper U53 X -> U53 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2, X3) -> U51(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper U52(X1, X2) -> U52(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U43 X -> U43 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2, X3) -> U41(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 proper U42(X1, X2) -> U42(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U31(X1, X2) -> U31(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U32 X -> U32 proper X 0 + 0X >= 0 + 0X proper U23 X -> U23 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2, X3) -> U21(proper X1, proper X2, proper X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22(X1, X2) -> U22(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper tt() -> ok tt() 0 >= 1 proper U11(X1, X2) -> U11(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U12 X -> U12 proper X 0 + 0X >= 0 + 0X proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X isPalListKind ok X -> ok isPalListKind X 1 + 0X >= 2 + 0X and(ok X1, ok X2) -> ok and(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 and(mark X1, X2) -> mark and(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(ok X1, ok X2) -> ok U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61(ok X1, ok X2) -> ok U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U61(mark X1, X2) -> mark U61(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U62 ok X -> ok U62 X 0 + 0X >= 1 + 0X U62 mark X -> mark U62 X 0 + 0X >= 1 + 0X U53 ok X -> ok U53 X 2 + 1X >= 2 + 1X U53 mark X -> mark U53 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2, ok X3) -> ok U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U51(mark X1, X2, X3) -> mark U51(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U52(ok X1, ok X2) -> ok U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U52(mark X1, X2) -> mark U52(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U43 ok X -> ok U43 X 2 + 1X >= 2 + 1X U43 mark X -> mark U43 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2, ok X3) -> ok U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U41(mark X1, X2, X3) -> mark U41(X1, X2, X3) 2 + 1X1 + 0X2 + 0X3 >= 2 + 1X1 + 0X2 + 0X3 U42(ok X1, ok X2) -> ok U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U42(mark X1, X2) -> mark U42(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U31(ok X1, ok X2) -> ok U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U31(mark X1, X2) -> mark U31(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U32 ok X -> ok U32 X 0 + 0X >= 1 + 0X U32 mark X -> mark U32 X 0 + 0X >= 1 + 0X U23 ok X -> ok U23 X 2 + 1X >= 2 + 1X U23 mark X -> mark U23 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2, ok X3) -> ok U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 U21(mark X1, X2, X3) -> mark U21(X1, X2, X3) 1 + 1X1 + 0X2 + 0X3 >= 1 + 1X1 + 0X2 + 0X3 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22(ok X1, ok X2) -> ok U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U22(mark X1, X2) -> mark U22(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(ok X1, ok X2) -> ok U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U11(mark X1, X2) -> mark U11(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U12 ok X -> ok U12 X 0 + 0X >= 1 + 0X U12 mark X -> mark U12 X 0 + 0X >= 1 + 0X active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U71(isPalListKind V, V) 0 + 0V >= 1 + 0V active isPalListKind u() -> mark tt() 0 >= 1 active isPalListKind o() -> mark tt() 0 >= 1 active isPalListKind i() -> mark tt() 0 >= 1 active isPalListKind e() -> mark tt() 0 >= 1 active isPalListKind a() -> mark tt() 0 >= 1 active isPalListKind nil() -> mark tt() 0 >= 1 active isPalListKind __(V1, V2) -> mark and(isPalListKind V1, isPalListKind V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active and(tt(), X) -> mark X 0 + 0X >= 1 + 1X active and(X1, X2) -> and(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U71(tt(), V) -> mark U72 isNePal V 0 + 0V >= 1 + 0V active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNePal __(I, __(P, I)) -> mark and(and(isQid I, isPalListKind I), and(isPal P, isPalListKind P)) 0 + 0I + 0P >= 4 + 0I + 0P active isNePal V -> mark U61(isPalListKind V, V) 0 + 0V >= 1 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61(tt(), V) -> mark U62 isQid V 0 + 0V >= 1 + 0V active U61(X1, X2) -> U61(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U62 tt() -> mark tt() 0 >= 1 active U62 X -> U62 active X 0 + 0X >= 0 + 0X active U53 tt() -> mark tt() 0 >= 1 active U53 X -> U53 active X 0 + 0X >= 1 + 0X active U51(tt(), V1, V2) -> mark U52(isNeList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U51(X1, X2, X3) -> U51(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active U52(tt(), V2) -> mark U53 isList V2 0 + 0V2 >= 3 + 0V2 active U52(X1, X2) -> U52(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U43 tt() -> mark tt() 0 >= 1 active U43 X -> U43 active X 0 + 0X >= 1 + 0X active U41(tt(), V1, V2) -> mark U42(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U41(X1, X2, X3) -> U41(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 1 + 0X1 + 0X2 + 0X3 active U42(tt(), V2) -> mark U43 isNeList V2 0 + 0V2 >= 3 + 1V2 active U42(X1, X2) -> U42(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U31(tt(), V) -> mark U32 isQid V 0 + 0V >= 1 + 0V active U31(X1, X2) -> U31(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isQid u() -> mark tt() 0 >= 1 active isQid o() -> mark tt() 0 >= 1 active isQid i() -> mark tt() 0 >= 1 active isQid e() -> mark tt() 0 >= 1 active isQid a() -> mark tt() 0 >= 1 active U32 tt() -> mark tt() 0 >= 1 active U32 X -> U32 active X 0 + 0X >= 0 + 0X active U23 tt() -> mark tt() 0 >= 1 active U23 X -> U23 active X 0 + 0X >= 1 + 0X active U21(tt(), V1, V2) -> mark U22(isList V1, V2) 0 + 0V1 + 0V2 >= 1 + 0V1 + 0V2 active U21(X1, X2, X3) -> U21(active X1, X2, X3) 0 + 0X1 + 0X2 + 0X3 >= 0 + 0X1 + 0X2 + 0X3 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isList V -> mark U11(isPalListKind V, V) 0 + 0V >= 1 + 0V active U22(tt(), V2) -> mark U23 isList V2 0 + 0V2 >= 3 + 0V2 active U22(X1, X2) -> U22(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U11(tt(), V) -> mark U12 isNeList V 0 + 0V >= 1 + 0V active U11(X1, X2) -> U11(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 3 + 0V1 + 0V2 active isNeList __(V1, V2) -> mark U41(and(isPalListKind V1, isPalListKind V2), V1, V2) 0 + 0V1 + 0V2 >= 4 + 0V1 + 0V2 active isNeList V -> mark U31(isPalListKind V, V) 0 + 0V >= 3 + 0V active U12 tt() -> mark tt() 0 >= 1 active U12 X -> U12 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 1 + 1X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 Qed