MAYBE Time: 10.622606 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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# U11 X -> active# X, active# U11 X -> U11# active X, active# U22 X -> active# X, active# U22 X -> U22# active X, active# isList V -> U11# isNeList V, active# isList V -> isNeList# V, active# isList __(V1, V2) -> isList# V1, active# isList __(V1, V2) -> U21#(isList V1, V2), active# U21(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2), active# U21(tt(), V2) -> U22# isList V2, active# U21(tt(), V2) -> isList# V2, active# U31 X -> active# X, active# U31 X -> U31# active X, active# U42 X -> active# X, active# U42 X -> U42# active X, active# isNeList V -> U31# isQid V, active# isNeList V -> isQid# V, active# isNeList __(V1, V2) -> isList# V1, active# isNeList __(V1, V2) -> isNeList# V1, active# isNeList __(V1, V2) -> U41#(isList V1, V2), active# isNeList __(V1, V2) -> U51#(isNeList V1, V2), active# U41(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2), active# U41(tt(), V2) -> U42# isNeList V2, active# U41(tt(), V2) -> isNeList# V2, active# U52 X -> active# X, active# U52 X -> U52# active X, active# U51(X1, X2) -> active# X1, active# U51(X1, X2) -> U51#(active X1, X2), active# U51(tt(), V2) -> isList# V2, active# U51(tt(), V2) -> U52# isList V2, active# U61 X -> active# X, active# U61 X -> U61# active X, active# U72 X -> active# X, active# U72 X -> U72# active X, active# isPal V -> U81# isNePal V, active# isPal V -> isNePal# V, active# U71(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2), active# U71(tt(), P) -> U72# isPal P, active# U71(tt(), P) -> isPal# P, active# U81 X -> active# X, active# U81 X -> U81# active X, active# isNePal V -> U61# isQid V, active# isNePal V -> isQid# V, active# isNePal __(I, __(P, I)) -> U71#(isQid I, P), active# isNePal __(I, __(P, I)) -> isQid# I, U11# mark X -> U11# X, U11# ok X -> U11# X, U22# mark X -> U22# X, U22# ok X -> U22# X, isList# ok X -> isList# X, U21#(mark X1, X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2), U31# mark X -> U31# X, U31# ok X -> U31# X, U42# mark X -> U42# X, U42# ok X -> U42# X, isNeList# ok X -> isNeList# X, U41#(mark X1, X2) -> U41#(X1, X2), U41#(ok X1, ok X2) -> U41#(X1, X2), U52# mark X -> U52# X, U52# ok X -> U52# X, U51#(mark X1, X2) -> U51#(X1, X2), U51#(ok X1, ok X2) -> U51#(X1, X2), U61# mark X -> U61# X, U61# ok X -> U61# X, U72# mark X -> U72# X, U72# ok X -> U72# X, isPal# ok X -> isPal# X, U71#(mark X1, X2) -> U71#(X1, X2), U71#(ok X1, ok X2) -> U71#(X1, X2), U81# mark X -> U81# X, U81# ok X -> U81# X, isQid# ok X -> isQid# X, isNePal# ok X -> isNePal# X, proper# __(X1, X2) -> __#(proper X1, proper X2), proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> U11# proper X, proper# U11 X -> proper# X, proper# U22 X -> U22# proper X, proper# U22 X -> proper# X, proper# isList X -> isList# proper X, proper# isList X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2), proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> U31# proper X, proper# U31 X -> proper# X, proper# U42 X -> U42# proper X, proper# U42 X -> proper# X, proper# isNeList X -> isNeList# proper X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2), proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> U52# proper X, proper# U52 X -> proper# X, proper# U51(X1, X2) -> U51#(proper X1, proper X2), proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2, proper# U61 X -> U61# proper X, proper# U61 X -> proper# X, proper# U72 X -> U72# proper X, proper# U72 X -> proper# X, proper# isPal X -> isPal# proper X, proper# isPal 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# U81 X -> U81# proper X, proper# U81 X -> proper# X, proper# isQid X -> isQid# proper X, proper# isQid X -> proper# X, proper# isNePal X -> isNePal# proper X, proper# isNePal 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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} EDG: { (active# __(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# __(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> U71#(isQid I, P)) (active# __(X1, X2) -> active# X1, active# isNePal V -> isQid# V) (active# __(X1, X2) -> active# X1, active# isNePal V -> U61# isQid V) (active# __(X1, X2) -> active# X1, active# U81 X -> U81# active X) (active# __(X1, X2) -> active# X1, active# U81 X -> active# X) (active# __(X1, X2) -> active# X1, active# U71(tt(), P) -> isPal# P) (active# __(X1, X2) -> active# X1, active# U71(tt(), P) -> U72# isPal P) (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# isPal V -> isNePal# V) (active# __(X1, X2) -> active# X1, active# isPal V -> U81# isNePal 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 X -> U61# active X) (active# __(X1, X2) -> active# X1, active# U61 X -> active# X) (active# __(X1, X2) -> active# X1, active# U51(tt(), V2) -> U52# isList V2) (active# __(X1, X2) -> active# X1, active# U51(tt(), V2) -> isList# V2) (active# __(X1, X2) -> active# X1, active# U51(X1, X2) -> U51#(active X1, X2)) (active# __(X1, X2) -> active# X1, active# U51(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X1, active# U52 X -> U52# active X) (active# __(X1, X2) -> active# X1, active# U52 X -> active# X) (active# __(X1, X2) -> active# X1, active# U41(tt(), V2) -> isNeList# V2) (active# __(X1, X2) -> active# X1, active# U41(tt(), V2) -> U42# isNeList V2) (active# __(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2)) (active# __(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U51#(isNeList V1, V2)) (active# __(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U41#(isList V1, V2)) (active# __(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isNeList# V1) (active# __(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isList# V1) (active# __(X1, X2) -> active# X1, active# isNeList V -> isQid# V) (active# __(X1, X2) -> active# X1, active# isNeList V -> U31# isQid V) (active# __(X1, X2) -> active# X1, active# U42 X -> U42# active X) (active# __(X1, X2) -> active# X1, active# U42 X -> active# X) (active# __(X1, X2) -> active# X1, active# U31 X -> U31# active X) (active# __(X1, X2) -> active# X1, active# U31 X -> active# X) (active# __(X1, X2) -> active# X1, active# U21(tt(), V2) -> isList# V2) (active# __(X1, X2) -> active# X1, active# U21(tt(), V2) -> U22# isList V2) (active# __(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# __(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X1, active# isList __(V1, V2) -> U21#(isList V1, V2)) (active# __(X1, X2) -> active# X1, active# isList __(V1, V2) -> isList# V1) (active# __(X1, X2) -> active# X1, active# isList V -> isNeList# V) (active# __(X1, X2) -> active# X1, active# isList V -> U11# isNeList V) (active# __(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# __(X1, X2) -> active# X1, active# U22 X -> active# X) (active# __(X1, X2) -> active# X1, active# U11 X -> U11# active X) (active# __(X1, X2) -> active# X1, active# U11 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# U41(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U41(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> U71#(isQid I, P)) (active# U41(X1, X2) -> active# X1, active# isNePal V -> isQid# V) (active# U41(X1, X2) -> active# X1, active# isNePal V -> U61# isQid V) (active# U41(X1, X2) -> active# X1, active# U81 X -> U81# active X) (active# U41(X1, X2) -> active# X1, active# U81 X -> active# X) (active# U41(X1, X2) -> active# X1, active# U71(tt(), P) -> isPal# P) (active# U41(X1, X2) -> active# X1, active# U71(tt(), P) -> U72# isPal P) (active# U41(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U41(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1) (active# U41(X1, X2) -> active# X1, active# isPal V -> isNePal# V) (active# U41(X1, X2) -> active# X1, active# isPal V -> U81# isNePal V) (active# U41(X1, X2) -> active# X1, active# U72 X -> U72# active X) (active# U41(X1, X2) -> active# X1, active# U72 X -> active# X) (active# U41(X1, X2) -> active# X1, active# U61 X -> U61# active X) (active# U41(X1, X2) -> active# X1, active# U61 X -> active# X) (active# U41(X1, X2) -> active# X1, active# U51(tt(), V2) -> U52# isList V2) (active# U41(X1, X2) -> active# X1, active# U51(tt(), V2) -> isList# V2) (active# U41(X1, X2) -> active# X1, active# U51(X1, X2) -> U51#(active X1, X2)) (active# U41(X1, X2) -> active# X1, active# U51(X1, X2) -> active# X1) (active# U41(X1, X2) -> active# X1, active# U52 X -> U52# active X) (active# U41(X1, X2) -> active# X1, active# U52 X -> active# X) (active# U41(X1, X2) -> active# X1, active# U41(tt(), V2) -> isNeList# V2) (active# U41(X1, X2) -> active# X1, active# U41(tt(), V2) -> U42# isNeList V2) (active# U41(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U41(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1) (active# U41(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U51#(isNeList V1, V2)) (active# U41(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U41#(isList V1, V2)) (active# U41(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isNeList# V1) (active# U41(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isList# V1) (active# U41(X1, X2) -> active# X1, active# isNeList V -> isQid# V) (active# U41(X1, X2) -> active# X1, active# isNeList V -> U31# isQid V) (active# U41(X1, X2) -> active# X1, active# U42 X -> U42# active X) (active# U41(X1, X2) -> active# X1, active# U42 X -> active# X) (active# U41(X1, X2) -> active# X1, active# U31 X -> U31# active X) (active# U41(X1, X2) -> active# X1, active# U31 X -> active# X) (active# U41(X1, X2) -> active# X1, active# U21(tt(), V2) -> isList# V2) (active# U41(X1, X2) -> active# X1, active# U21(tt(), V2) -> U22# isList V2) (active# U41(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U41(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U41(X1, X2) -> active# X1, active# isList __(V1, V2) -> U21#(isList V1, V2)) (active# U41(X1, X2) -> active# X1, active# isList __(V1, V2) -> isList# V1) (active# U41(X1, X2) -> active# X1, active# isList V -> isNeList# V) (active# U41(X1, X2) -> active# X1, active# isList V -> U11# isNeList V) (active# U41(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U41(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U41(X1, X2) -> active# X1, active# U11 X -> U11# active X) (active# U41(X1, X2) -> active# X1, active# U11 X -> active# X) (active# U41(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U41(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U41(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2) (active# U41(X1, X2) -> active# X1, active# __(X1, X2) -> active# X1) (active# U41(X1, X2) -> active# X1, active# __(X1, X2) -> __#(active X1, X2)) (active# U41(X1, X2) -> active# X1, active# __(X1, X2) -> __#(X1, active X2)) (active# U71(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U71(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> U71#(isQid I, P)) (active# U71(X1, X2) -> active# X1, active# isNePal V -> isQid# V) (active# U71(X1, X2) -> active# X1, active# isNePal V -> U61# isQid V) (active# U71(X1, X2) -> active# X1, active# U81 X -> U81# active X) (active# U71(X1, X2) -> active# X1, active# U81 X -> active# X) (active# U71(X1, X2) -> active# X1, active# U71(tt(), P) -> isPal# P) (active# U71(X1, X2) -> active# X1, active# U71(tt(), P) -> U72# isPal P) (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# isPal V -> isNePal# V) (active# U71(X1, X2) -> active# X1, active# isPal V -> U81# isNePal 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 X -> U61# active X) (active# U71(X1, X2) -> active# X1, active# U61 X -> active# X) (active# U71(X1, X2) -> active# X1, active# U51(tt(), V2) -> U52# isList V2) (active# U71(X1, X2) -> active# X1, active# U51(tt(), V2) -> isList# V2) (active# U71(X1, X2) -> active# X1, active# U51(X1, X2) -> U51#(active X1, X2)) (active# U71(X1, X2) -> active# X1, active# U51(X1, X2) -> active# X1) (active# U71(X1, X2) -> active# X1, active# U52 X -> U52# active X) (active# U71(X1, X2) -> active# X1, active# U52 X -> active# X) (active# U71(X1, X2) -> active# X1, active# U41(tt(), V2) -> isNeList# V2) (active# U71(X1, X2) -> active# X1, active# U41(tt(), V2) -> U42# isNeList V2) (active# U71(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U71(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1) (active# U71(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U51#(isNeList V1, V2)) (active# U71(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U41#(isList V1, V2)) (active# U71(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isNeList# V1) (active# U71(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isList# V1) (active# U71(X1, X2) -> active# X1, active# isNeList V -> isQid# V) (active# U71(X1, X2) -> active# X1, active# isNeList V -> U31# isQid V) (active# U71(X1, X2) -> active# X1, active# U42 X -> U42# active X) (active# U71(X1, X2) -> active# X1, active# U42 X -> active# X) (active# U71(X1, X2) -> active# X1, active# U31 X -> U31# active X) (active# U71(X1, X2) -> active# X1, active# U31 X -> active# X) (active# U71(X1, X2) -> active# X1, active# U21(tt(), V2) -> isList# V2) (active# U71(X1, X2) -> active# X1, active# U21(tt(), V2) -> U22# isList V2) (active# U71(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U71(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U71(X1, X2) -> active# X1, active# isList __(V1, V2) -> U21#(isList V1, V2)) (active# U71(X1, X2) -> active# X1, active# isList __(V1, V2) -> isList# V1) (active# U71(X1, X2) -> active# X1, active# isList V -> isNeList# V) (active# U71(X1, X2) -> active# X1, active# isList V -> U11# isNeList V) (active# U71(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U71(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U71(X1, X2) -> active# X1, active# U11 X -> U11# active X) (active# U71(X1, X2) -> active# X1, active# U11 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# U21(X1, X2) -> proper# X1, proper# isNePal X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# U21(X1, X2) -> proper# X1, proper# isQid X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U81 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U81 X -> U81# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# isPal X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U72 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U72 X -> U72# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U61 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U61 X -> U61# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# U52 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U52 X -> U52# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# isNeList X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U42 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U42 X -> U42# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U31 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U31 X -> U31# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X1, proper# isList X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# isList X -> isList# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U21(X1, X2) -> proper# X1, proper# U11 X -> proper# X) (proper# U21(X1, X2) -> proper# X1, proper# U11 X -> U11# proper X) (proper# U21(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U51(X1, X2) -> proper# X1, proper# isNePal X -> proper# X) (proper# U51(X1, X2) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# U51(X1, X2) -> proper# X1, proper# isQid X -> proper# X) (proper# U51(X1, X2) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# U51(X1, X2) -> proper# X1, proper# U81 X -> proper# X) (proper# U51(X1, X2) -> proper# X1, proper# U81 X -> U81# proper X) (proper# U51(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# U51(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# U51(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U51(X1, X2) -> proper# X1, proper# isPal X -> proper# X) (proper# U51(X1, X2) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# U51(X1, X2) -> proper# X1, proper# U72 X -> proper# X) (proper# U51(X1, X2) -> proper# X1, proper# U72 X -> U72# proper X) (proper# U51(X1, X2) -> proper# X1, proper# U61 X -> proper# X) (proper# U51(X1, X2) -> proper# X1, proper# U61 X -> U61# proper X) (proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2) (proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X1) (proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# U51(X1, X2) -> proper# X1, proper# U52 X -> proper# X) (proper# U51(X1, X2) -> proper# X1, proper# U52 X -> U52# proper X) (proper# U51(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2) (proper# U51(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1) (proper# U51(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U51(X1, X2) -> proper# X1, proper# isNeList X -> proper# X) (proper# U51(X1, X2) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# U51(X1, X2) -> proper# X1, proper# U42 X -> proper# X) (proper# U51(X1, X2) -> proper# X1, proper# U42 X -> U42# proper X) (proper# U51(X1, X2) -> proper# X1, proper# U31 X -> proper# X) (proper# U51(X1, X2) -> proper# X1, proper# U31 X -> U31# proper X) (proper# U51(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U51(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U51(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U51(X1, X2) -> proper# X1, proper# isList X -> proper# X) (proper# U51(X1, X2) -> proper# X1, proper# isList X -> isList# proper X) (proper# U51(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U51(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U51(X1, X2) -> proper# X1, proper# U11 X -> proper# X) (proper# U51(X1, X2) -> proper# X1, proper# U11 X -> U11# proper X) (proper# U51(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# U51(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# U51(X1, X2) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (active# U21(tt(), V2) -> isList# V2, isList# ok X -> isList# X) (active# U51(tt(), V2) -> isList# V2, isList# ok X -> isList# X) (active# __(__(X, Y), Z) -> __#(X, __(Y, Z)), __#(ok X1, ok X2) -> __#(X1, X2)) (active# __(__(X, Y), Z) -> __#(X, __(Y, Z)), __#(X1, mark X2) -> __#(X1, X2)) (active# U21(X1, X2) -> U21#(active X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (active# U21(X1, X2) -> U21#(active X1, X2), U21#(mark X1, X2) -> U21#(X1, X2)) (active# U51(X1, X2) -> U51#(active X1, X2), U51#(ok X1, ok X2) -> U51#(X1, X2)) (active# U51(X1, X2) -> U51#(active X1, X2), U51#(mark X1, X2) -> U51#(X1, X2)) (active# U11 X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U11 X -> active# X, active# isNePal __(I, __(P, I)) -> U71#(isQid I, P)) (active# U11 X -> active# X, active# isNePal V -> isQid# V) (active# U11 X -> active# X, active# isNePal V -> U61# isQid V) (active# U11 X -> active# X, active# U81 X -> U81# active X) (active# U11 X -> active# X, active# U81 X -> active# X) (active# U11 X -> active# X, active# U71(tt(), P) -> isPal# P) (active# U11 X -> active# X, active# U71(tt(), P) -> U72# isPal P) (active# U11 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U11 X -> active# X, active# U71(X1, X2) -> active# X1) (active# U11 X -> active# X, active# isPal V -> isNePal# V) (active# U11 X -> active# X, active# isPal V -> U81# isNePal V) (active# U11 X -> active# X, active# U72 X -> U72# active X) (active# U11 X -> active# X, active# U72 X -> active# X) (active# U11 X -> active# X, active# U61 X -> U61# active X) (active# U11 X -> active# X, active# U61 X -> active# X) (active# U11 X -> active# X, active# U51(tt(), V2) -> U52# isList V2) (active# U11 X -> active# X, active# U51(tt(), V2) -> isList# V2) (active# U11 X -> active# X, active# U51(X1, X2) -> U51#(active X1, X2)) (active# U11 X -> active# X, active# U51(X1, X2) -> active# X1) (active# U11 X -> active# X, active# U52 X -> U52# active X) (active# U11 X -> active# X, active# U52 X -> active# X) (active# U11 X -> active# X, active# U41(tt(), V2) -> isNeList# V2) (active# U11 X -> active# X, active# U41(tt(), V2) -> U42# isNeList V2) (active# U11 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U11 X -> active# X, active# U41(X1, X2) -> active# X1) (active# U11 X -> active# X, active# isNeList __(V1, V2) -> U51#(isNeList V1, V2)) (active# U11 X -> active# X, active# isNeList __(V1, V2) -> U41#(isList V1, V2)) (active# U11 X -> active# X, active# isNeList __(V1, V2) -> isNeList# V1) (active# U11 X -> active# X, active# isNeList __(V1, V2) -> isList# V1) (active# U11 X -> active# X, active# isNeList V -> isQid# V) (active# U11 X -> active# X, active# isNeList V -> U31# isQid V) (active# U11 X -> active# X, active# U42 X -> U42# active X) (active# U11 X -> active# X, active# U42 X -> active# X) (active# U11 X -> active# X, active# U31 X -> U31# active X) (active# U11 X -> active# X, active# U31 X -> active# X) (active# U11 X -> active# X, active# U21(tt(), V2) -> isList# V2) (active# U11 X -> active# X, active# U21(tt(), V2) -> U22# isList V2) (active# U11 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U11 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U11 X -> active# X, active# isList __(V1, V2) -> U21#(isList V1, V2)) (active# U11 X -> active# X, active# isList __(V1, V2) -> isList# V1) (active# U11 X -> active# X, active# isList V -> isNeList# V) (active# U11 X -> active# X, active# isList V -> U11# isNeList V) (active# U11 X -> active# X, active# U22 X -> U22# active X) (active# U11 X -> active# X, active# U22 X -> active# X) (active# U11 X -> active# X, active# U11 X -> U11# active X) (active# U11 X -> active# X, active# U11 X -> active# X) (active# U11 X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U11 X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U11 X -> active# X, active# __(X1, X2) -> active# X2) (active# U11 X -> active# X, active# __(X1, X2) -> active# X1) (active# U11 X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (active# U11 X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (active# U31 X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U31 X -> active# X, active# isNePal __(I, __(P, I)) -> U71#(isQid I, P)) (active# U31 X -> active# X, active# isNePal V -> isQid# V) (active# U31 X -> active# X, active# isNePal V -> U61# isQid V) (active# U31 X -> active# X, active# U81 X -> U81# active X) (active# U31 X -> active# X, active# U81 X -> active# X) (active# U31 X -> active# X, active# U71(tt(), P) -> isPal# P) (active# U31 X -> active# X, active# U71(tt(), P) -> U72# isPal P) (active# U31 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U31 X -> active# X, active# U71(X1, X2) -> active# X1) (active# U31 X -> active# X, active# isPal V -> isNePal# V) (active# U31 X -> active# X, active# isPal V -> U81# isNePal V) (active# U31 X -> active# X, active# U72 X -> U72# active X) (active# U31 X -> active# X, active# U72 X -> active# X) (active# U31 X -> active# X, active# U61 X -> U61# active X) (active# U31 X -> active# X, active# U61 X -> active# X) (active# U31 X -> active# X, active# U51(tt(), V2) -> U52# isList V2) (active# U31 X -> active# X, active# U51(tt(), V2) -> isList# V2) (active# U31 X -> active# X, active# U51(X1, X2) -> U51#(active X1, X2)) (active# U31 X -> active# X, active# U51(X1, X2) -> active# X1) (active# U31 X -> active# X, active# U52 X -> U52# active X) (active# U31 X -> active# X, active# U52 X -> active# X) (active# U31 X -> active# X, active# U41(tt(), V2) -> isNeList# V2) (active# U31 X -> active# X, active# U41(tt(), V2) -> U42# isNeList V2) (active# U31 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U31 X -> active# X, active# U41(X1, X2) -> active# X1) (active# U31 X -> active# X, active# isNeList __(V1, V2) -> U51#(isNeList V1, V2)) (active# U31 X -> active# X, active# isNeList __(V1, V2) -> U41#(isList V1, V2)) (active# U31 X -> active# X, active# isNeList __(V1, V2) -> isNeList# V1) (active# U31 X -> active# X, active# isNeList __(V1, V2) -> isList# V1) (active# U31 X -> active# X, active# isNeList V -> isQid# V) (active# U31 X -> active# X, active# isNeList V -> U31# isQid V) (active# U31 X -> active# X, active# U42 X -> U42# active X) (active# U31 X -> active# X, active# U42 X -> active# X) (active# U31 X -> active# X, active# U31 X -> U31# active X) (active# U31 X -> active# X, active# U31 X -> active# X) (active# U31 X -> active# X, active# U21(tt(), V2) -> isList# V2) (active# U31 X -> active# X, active# U21(tt(), V2) -> U22# isList V2) (active# U31 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U31 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U31 X -> active# X, active# isList __(V1, V2) -> U21#(isList V1, V2)) (active# U31 X -> active# X, active# isList __(V1, V2) -> isList# V1) (active# U31 X -> active# X, active# isList V -> isNeList# V) (active# U31 X -> active# X, active# isList V -> U11# isNeList V) (active# U31 X -> active# X, active# U22 X -> U22# active X) (active# U31 X -> active# X, active# U22 X -> active# X) (active# U31 X -> active# X, active# U11 X -> U11# active X) (active# U31 X -> active# X, active# U11 X -> active# X) (active# U31 X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U31 X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U31 X -> active# X, active# __(X1, X2) -> active# X2) (active# U31 X -> active# X, active# __(X1, X2) -> active# X1) (active# U31 X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (active# U31 X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (active# U52 X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U52 X -> active# X, active# isNePal __(I, __(P, I)) -> U71#(isQid I, P)) (active# U52 X -> active# X, active# isNePal V -> isQid# V) (active# U52 X -> active# X, active# isNePal V -> U61# isQid V) (active# U52 X -> active# X, active# U81 X -> U81# active X) (active# U52 X -> active# X, active# U81 X -> active# X) (active# U52 X -> active# X, active# U71(tt(), P) -> isPal# P) (active# U52 X -> active# X, active# U71(tt(), P) -> U72# isPal P) (active# U52 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U52 X -> active# X, active# U71(X1, X2) -> active# X1) (active# U52 X -> active# X, active# isPal V -> isNePal# V) (active# U52 X -> active# X, active# isPal V -> U81# isNePal V) (active# U52 X -> active# X, active# U72 X -> U72# active X) (active# U52 X -> active# X, active# U72 X -> active# X) (active# U52 X -> active# X, active# U61 X -> U61# active X) (active# U52 X -> active# X, active# U61 X -> active# X) (active# U52 X -> active# X, active# U51(tt(), V2) -> U52# isList V2) (active# U52 X -> active# X, active# U51(tt(), V2) -> isList# V2) (active# U52 X -> active# X, active# U51(X1, X2) -> U51#(active X1, X2)) (active# U52 X -> active# X, active# U51(X1, X2) -> active# X1) (active# U52 X -> active# X, active# U52 X -> U52# active X) (active# U52 X -> active# X, active# U52 X -> active# X) (active# U52 X -> active# X, active# U41(tt(), V2) -> isNeList# V2) (active# U52 X -> active# X, active# U41(tt(), V2) -> U42# isNeList V2) (active# U52 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U52 X -> active# X, active# U41(X1, X2) -> active# X1) (active# U52 X -> active# X, active# isNeList __(V1, V2) -> U51#(isNeList V1, V2)) (active# U52 X -> active# X, active# isNeList __(V1, V2) -> U41#(isList V1, V2)) (active# U52 X -> active# X, active# isNeList __(V1, V2) -> isNeList# V1) (active# U52 X -> active# X, active# isNeList __(V1, V2) -> isList# V1) (active# U52 X -> active# X, active# isNeList V -> isQid# V) (active# U52 X -> active# X, active# isNeList V -> U31# isQid V) (active# U52 X -> active# X, active# U42 X -> U42# active X) (active# U52 X -> active# X, active# U42 X -> active# X) (active# U52 X -> active# X, active# U31 X -> U31# active X) (active# U52 X -> active# X, active# U31 X -> active# X) (active# U52 X -> active# X, active# U21(tt(), V2) -> isList# V2) (active# U52 X -> active# X, active# U21(tt(), V2) -> U22# isList V2) (active# U52 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U52 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U52 X -> active# X, active# isList __(V1, V2) -> U21#(isList V1, V2)) (active# U52 X -> active# X, active# isList __(V1, V2) -> isList# V1) (active# U52 X -> active# X, active# isList V -> isNeList# V) (active# U52 X -> active# X, active# isList V -> U11# isNeList V) (active# U52 X -> active# X, active# U22 X -> U22# active X) (active# U52 X -> active# X, active# U22 X -> active# X) (active# U52 X -> active# X, active# U11 X -> U11# active X) (active# U52 X -> active# X, active# U11 X -> active# X) (active# U52 X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U52 X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U52 X -> active# X, active# __(X1, X2) -> active# X2) (active# U52 X -> active# X, active# __(X1, X2) -> active# X1) (active# U52 X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (active# U52 X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (active# U72 X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U72 X -> active# X, active# isNePal __(I, __(P, I)) -> U71#(isQid I, P)) (active# U72 X -> active# X, active# isNePal V -> isQid# V) (active# U72 X -> active# X, active# isNePal V -> U61# isQid V) (active# U72 X -> active# X, active# U81 X -> U81# active X) (active# U72 X -> active# X, active# U81 X -> active# X) (active# U72 X -> active# X, active# U71(tt(), P) -> isPal# P) (active# U72 X -> active# X, active# U71(tt(), P) -> U72# isPal P) (active# U72 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U72 X -> active# X, active# U71(X1, X2) -> active# X1) (active# U72 X -> active# X, active# isPal V -> isNePal# V) (active# U72 X -> active# X, active# isPal V -> U81# isNePal V) (active# U72 X -> active# X, active# U72 X -> U72# active X) (active# U72 X -> active# X, active# U72 X -> active# X) (active# U72 X -> active# X, active# U61 X -> U61# active X) (active# U72 X -> active# X, active# U61 X -> active# X) (active# U72 X -> active# X, active# U51(tt(), V2) -> U52# isList V2) (active# U72 X -> active# X, active# U51(tt(), V2) -> isList# V2) (active# U72 X -> active# X, active# U51(X1, X2) -> U51#(active X1, X2)) (active# U72 X -> active# X, active# U51(X1, X2) -> active# X1) (active# U72 X -> active# X, active# U52 X -> U52# active X) (active# U72 X -> active# X, active# U52 X -> active# X) (active# U72 X -> active# X, active# U41(tt(), V2) -> isNeList# V2) (active# U72 X -> active# X, active# U41(tt(), V2) -> U42# isNeList V2) (active# U72 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U72 X -> active# X, active# U41(X1, X2) -> active# X1) (active# U72 X -> active# X, active# isNeList __(V1, V2) -> U51#(isNeList V1, V2)) (active# U72 X -> active# X, active# isNeList __(V1, V2) -> U41#(isList V1, V2)) (active# U72 X -> active# X, active# isNeList __(V1, V2) -> isNeList# V1) (active# U72 X -> active# X, active# isNeList __(V1, V2) -> isList# V1) (active# U72 X -> active# X, active# isNeList V -> isQid# V) (active# U72 X -> active# X, active# isNeList V -> U31# isQid V) (active# U72 X -> active# X, active# U42 X -> U42# active X) (active# U72 X -> active# X, active# U42 X -> active# X) (active# U72 X -> active# X, active# U31 X -> U31# active X) (active# U72 X -> active# X, active# U31 X -> active# X) (active# U72 X -> active# X, active# U21(tt(), V2) -> isList# V2) (active# U72 X -> active# X, active# U21(tt(), V2) -> U22# isList V2) (active# U72 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U72 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U72 X -> active# X, active# isList __(V1, V2) -> U21#(isList V1, V2)) (active# U72 X -> active# X, active# isList __(V1, V2) -> isList# V1) (active# U72 X -> active# X, active# isList V -> isNeList# V) (active# U72 X -> active# X, active# isList V -> U11# isNeList V) (active# U72 X -> active# X, active# U22 X -> U22# active X) (active# U72 X -> active# X, active# U22 X -> active# X) (active# U72 X -> active# X, active# U11 X -> U11# active X) (active# U72 X -> active# X, active# U11 X -> active# X) (active# U72 X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U72 X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U72 X -> active# X, active# __(X1, X2) -> active# X2) (active# U72 X -> active# X, active# __(X1, X2) -> active# X1) (active# U72 X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (active# U72 X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (U11# mark X -> U11# X, U11# ok X -> U11# X) (U11# mark X -> U11# X, U11# mark X -> U11# X) (U22# mark X -> U22# X, U22# ok X -> U22# X) (U22# mark X -> U22# X, U22# mark X -> U22# X) (isList# ok X -> isList# X, isList# ok X -> isList# X) (U31# ok X -> U31# X, U31# ok X -> U31# X) (U31# ok X -> U31# X, U31# mark X -> U31# X) (U42# ok X -> U42# X, U42# ok X -> U42# X) (U42# ok X -> U42# X, U42# mark X -> U42# X) (U52# mark X -> U52# X, U52# ok X -> U52# X) (U52# mark X -> U52# X, U52# mark X -> U52# X) (U61# mark X -> U61# X, U61# ok X -> U61# X) (U61# mark X -> U61# X, U61# mark X -> U61# X) (U72# mark X -> U72# X, U72# ok X -> U72# X) (U72# mark X -> U72# X, U72# mark X -> U72# X) (isPal# ok X -> isPal# X, isPal# ok X -> isPal# X) (U81# ok X -> U81# X, U81# ok X -> U81# X) (U81# ok X -> U81# X, U81# mark X -> U81# X) (isNePal# ok X -> isNePal# X, isNePal# ok X -> isNePal# X) (proper# U22 X -> proper# X, proper# isNePal X -> proper# X) (proper# U22 X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# U22 X -> proper# X, proper# isQid X -> proper# X) (proper# U22 X -> proper# X, proper# isQid X -> isQid# proper X) (proper# U22 X -> proper# X, proper# U81 X -> proper# X) (proper# U22 X -> proper# X, proper# U81 X -> U81# proper X) (proper# U22 X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# isPal X -> proper# X) (proper# U22 X -> proper# X, proper# isPal X -> isPal# proper X) (proper# U22 X -> proper# X, proper# U72 X -> proper# X) (proper# U22 X -> proper# X, proper# U72 X -> U72# proper X) (proper# U22 X -> proper# X, proper# U61 X -> proper# X) (proper# U22 X -> proper# X, proper# U61 X -> U61# proper X) (proper# U22 X -> proper# X, proper# U51(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U51(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# U52 X -> proper# X) (proper# U22 X -> proper# X, proper# U52 X -> U52# proper X) (proper# U22 X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# isNeList X -> proper# X) (proper# U22 X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# U22 X -> proper# X, proper# U42 X -> proper# X) (proper# U22 X -> proper# X, proper# U42 X -> U42# proper X) (proper# U22 X -> proper# X, proper# U31 X -> proper# X) (proper# U22 X -> proper# X, proper# U31 X -> U31# proper X) (proper# U22 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U22 X -> proper# X, proper# isList X -> proper# X) (proper# U22 X -> proper# X, proper# isList X -> isList# proper X) (proper# U22 X -> proper# X, proper# U22 X -> proper# X) (proper# U22 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U22 X -> proper# X, proper# U11 X -> proper# X) (proper# U22 X -> proper# X, proper# U11 X -> U11# proper X) (proper# U22 X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# U22 X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# U22 X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U31 X -> proper# X, proper# isNePal X -> proper# X) (proper# U31 X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# U31 X -> proper# X, proper# isQid X -> proper# X) (proper# U31 X -> proper# X, proper# isQid X -> isQid# proper X) (proper# U31 X -> proper# X, proper# U81 X -> proper# X) (proper# U31 X -> proper# X, proper# U81 X -> U81# proper X) (proper# U31 X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# U31 X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# U31 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U31 X -> proper# X, proper# isPal X -> proper# X) (proper# U31 X -> proper# X, proper# isPal X -> isPal# proper X) (proper# U31 X -> proper# X, proper# U72 X -> proper# X) (proper# U31 X -> proper# X, proper# U72 X -> U72# proper X) (proper# U31 X -> proper# X, proper# U61 X -> proper# X) (proper# U31 X -> proper# X, proper# U61 X -> U61# proper X) (proper# U31 X -> proper# X, proper# U51(X1, X2) -> proper# X2) (proper# U31 X -> proper# X, proper# U51(X1, X2) -> proper# X1) (proper# U31 X -> proper# X, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# U31 X -> proper# X, proper# U52 X -> proper# X) (proper# U31 X -> proper# X, proper# U52 X -> U52# proper X) (proper# U31 X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# U31 X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# U31 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U31 X -> proper# X, proper# isNeList X -> proper# X) (proper# U31 X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# U31 X -> proper# X, proper# U42 X -> proper# X) (proper# U31 X -> proper# X, proper# U42 X -> U42# proper X) (proper# U31 X -> proper# X, proper# U31 X -> proper# X) (proper# U31 X -> proper# X, proper# U31 X -> U31# proper X) (proper# U31 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U31 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U31 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U31 X -> proper# X, proper# isList X -> proper# X) (proper# U31 X -> proper# X, proper# isList X -> isList# proper X) (proper# U31 X -> proper# X, proper# U22 X -> proper# X) (proper# U31 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U31 X -> proper# X, proper# U11 X -> proper# X) (proper# U31 X -> proper# X, proper# U11 X -> U11# proper X) (proper# U31 X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# U31 X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# U31 X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# isNeList X -> proper# X, proper# isNePal X -> proper# X) (proper# isNeList X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# isNeList X -> proper# X, proper# isQid X -> proper# X) (proper# isNeList X -> proper# X, proper# isQid X -> isQid# proper X) (proper# isNeList X -> proper# X, proper# U81 X -> proper# X) (proper# isNeList X -> proper# X, proper# U81 X -> U81# proper X) (proper# isNeList X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# isNeList X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# isNeList X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# isNeList X -> proper# X, proper# isPal X -> proper# X) (proper# isNeList X -> proper# X, proper# isPal X -> isPal# proper X) (proper# isNeList X -> proper# X, proper# U72 X -> proper# X) (proper# isNeList X -> proper# X, proper# U72 X -> U72# proper X) (proper# isNeList X -> proper# X, proper# U61 X -> proper# X) (proper# isNeList X -> proper# X, proper# U61 X -> U61# proper X) (proper# isNeList X -> proper# X, proper# U51(X1, X2) -> proper# X2) (proper# isNeList X -> proper# X, proper# U51(X1, X2) -> proper# X1) (proper# isNeList X -> proper# X, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# isNeList X -> proper# X, proper# U52 X -> proper# X) (proper# isNeList X -> proper# X, proper# U52 X -> U52# proper X) (proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# isNeList X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# isNeList X -> proper# X, proper# isNeList X -> proper# X) (proper# isNeList X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# isNeList X -> proper# X, proper# U42 X -> proper# X) (proper# isNeList X -> proper# X, proper# U42 X -> U42# proper X) (proper# isNeList X -> proper# X, proper# U31 X -> proper# X) (proper# isNeList X -> proper# X, proper# U31 X -> U31# proper X) (proper# isNeList X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNeList X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNeList X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNeList X -> proper# X, proper# isList X -> proper# X) (proper# isNeList X -> proper# X, proper# isList X -> isList# proper X) (proper# isNeList X -> proper# X, proper# U22 X -> proper# X) (proper# isNeList X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNeList X -> proper# X, proper# U11 X -> proper# X) (proper# isNeList X -> proper# X, proper# U11 X -> U11# proper X) (proper# isNeList X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# isNeList X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# isNeList X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U61 X -> proper# X, proper# isNePal X -> proper# X) (proper# U61 X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# U61 X -> proper# X, proper# isQid X -> proper# X) (proper# U61 X -> proper# X, proper# isQid X -> isQid# proper X) (proper# U61 X -> proper# X, proper# U81 X -> proper# X) (proper# U61 X -> proper# X, proper# U81 X -> U81# proper X) (proper# U61 X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# U61 X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# U61 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U61 X -> proper# X, proper# isPal X -> proper# X) (proper# U61 X -> proper# X, proper# isPal X -> isPal# proper X) (proper# U61 X -> proper# X, proper# U72 X -> proper# X) (proper# U61 X -> proper# X, proper# U72 X -> U72# proper X) (proper# U61 X -> proper# X, proper# U61 X -> proper# X) (proper# U61 X -> proper# X, proper# U61 X -> U61# proper X) (proper# U61 X -> proper# X, proper# U51(X1, X2) -> proper# X2) (proper# U61 X -> proper# X, proper# U51(X1, X2) -> proper# X1) (proper# U61 X -> proper# X, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# U61 X -> proper# X, proper# U52 X -> proper# X) (proper# U61 X -> proper# X, proper# U52 X -> U52# proper X) (proper# U61 X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# U61 X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# U61 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U61 X -> proper# X, proper# isNeList X -> proper# X) (proper# U61 X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# U61 X -> proper# X, proper# U42 X -> proper# X) (proper# U61 X -> proper# X, proper# U42 X -> U42# proper X) (proper# U61 X -> proper# X, proper# U31 X -> proper# X) (proper# U61 X -> proper# X, proper# U31 X -> U31# proper X) (proper# U61 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U61 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U61 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U61 X -> proper# X, proper# isList X -> proper# X) (proper# U61 X -> proper# X, proper# isList X -> isList# proper X) (proper# U61 X -> proper# X, proper# U22 X -> proper# X) (proper# U61 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U61 X -> proper# X, proper# U11 X -> proper# X) (proper# U61 X -> proper# X, proper# U11 X -> U11# proper X) (proper# U61 X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# U61 X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# U61 X -> proper# X, proper# __(X1, X2) -> __#(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# isQid X -> proper# X) (proper# isPal X -> proper# X, proper# isQid X -> isQid# proper X) (proper# isPal X -> proper# X, proper# U81 X -> proper# X) (proper# isPal X -> proper# X, proper# U81 X -> U81# proper X) (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# isPal X -> proper# X) (proper# isPal X -> proper# X, proper# isPal X -> isPal# 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 X -> proper# X) (proper# isPal X -> proper# X, proper# U61 X -> U61# proper X) (proper# isPal X -> proper# X, proper# U51(X1, X2) -> proper# X2) (proper# isPal X -> proper# X, proper# U51(X1, X2) -> proper# X1) (proper# isPal X -> proper# X, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# isPal X -> proper# X, proper# U52 X -> proper# X) (proper# isPal X -> proper# X, proper# U52 X -> U52# proper X) (proper# isPal X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# isPal X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# isPal X -> proper# X, proper# U41(X1, X2) -> U41#(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# U42 X -> proper# X) (proper# isPal X -> proper# X, proper# U42 X -> U42# proper X) (proper# isPal X -> proper# X, proper# U31 X -> proper# X) (proper# isPal X -> proper# X, proper# U31 X -> U31# proper X) (proper# isPal X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isPal X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isPal X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (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 X -> proper# X) (proper# isPal X -> proper# X, proper# U22 X -> U22# proper X) (proper# isPal X -> proper# X, proper# U11 X -> proper# X) (proper# isPal X -> proper# X, proper# U11 X -> U11# 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)) (proper# isQid X -> proper# X, proper# isNePal X -> proper# X) (proper# isQid X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# isQid X -> proper# X, proper# isQid X -> proper# X) (proper# isQid X -> proper# X, proper# isQid X -> isQid# proper X) (proper# isQid X -> proper# X, proper# U81 X -> proper# X) (proper# isQid X -> proper# X, proper# U81 X -> U81# proper X) (proper# isQid X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# isQid X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# isQid X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# isQid X -> proper# X, proper# isPal X -> proper# X) (proper# isQid X -> proper# X, proper# isPal X -> isPal# proper X) (proper# isQid X -> proper# X, proper# U72 X -> proper# X) (proper# isQid X -> proper# X, proper# U72 X -> U72# proper X) (proper# isQid X -> proper# X, proper# U61 X -> proper# X) (proper# isQid X -> proper# X, proper# U61 X -> U61# proper X) (proper# isQid X -> proper# X, proper# U51(X1, X2) -> proper# X2) (proper# isQid X -> proper# X, proper# U51(X1, X2) -> proper# X1) (proper# isQid X -> proper# X, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# isQid X -> proper# X, proper# U52 X -> proper# X) (proper# isQid X -> proper# X, proper# U52 X -> U52# proper X) (proper# isQid X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# isQid X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# isQid X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# isQid X -> proper# X, proper# isNeList X -> proper# X) (proper# isQid X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# isQid X -> proper# X, proper# U42 X -> proper# X) (proper# isQid X -> proper# X, proper# U42 X -> U42# proper X) (proper# isQid X -> proper# X, proper# U31 X -> proper# X) (proper# isQid X -> proper# X, proper# U31 X -> U31# proper X) (proper# isQid X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isQid X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isQid X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isQid X -> proper# X, proper# isList X -> proper# X) (proper# isQid X -> proper# X, proper# isList X -> isList# proper X) (proper# isQid X -> proper# X, proper# U22 X -> proper# X) (proper# isQid X -> proper# X, proper# U22 X -> U22# proper X) (proper# isQid X -> proper# X, proper# U11 X -> proper# X) (proper# isQid X -> proper# X, proper# U11 X -> U11# proper X) (proper# isQid X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# isQid X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# isQid X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (top# mark X -> proper# X, proper# isNePal X -> proper# X) (top# mark X -> proper# X, proper# isNePal X -> isNePal# proper X) (top# mark X -> proper# X, proper# isQid X -> proper# X) (top# mark X -> proper# X, proper# isQid X -> isQid# proper X) (top# mark X -> proper# X, proper# U81 X -> proper# X) (top# mark X -> proper# X, proper# U81 X -> U81# proper X) (top# mark X -> proper# X, proper# U71(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U71(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (top# mark X -> proper# X, proper# isPal X -> proper# X) (top# mark X -> proper# X, proper# isPal X -> isPal# proper X) (top# mark X -> proper# X, proper# U72 X -> proper# X) (top# mark X -> proper# X, proper# U72 X -> U72# proper X) (top# mark X -> proper# X, proper# U61 X -> proper# X) (top# mark X -> proper# X, proper# U61 X -> U61# proper X) (top# mark X -> proper# X, proper# U51(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U51(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (top# mark X -> proper# X, proper# U52 X -> proper# X) (top# mark X -> proper# X, proper# U52 X -> U52# proper X) (top# mark X -> proper# X, proper# U41(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U41(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (top# mark X -> proper# X, proper# isNeList X -> proper# X) (top# mark X -> proper# X, proper# isNeList X -> isNeList# proper X) (top# mark X -> proper# X, proper# U42 X -> proper# X) (top# mark X -> proper# X, proper# U42 X -> U42# proper X) (top# mark X -> proper# X, proper# U31 X -> proper# X) (top# mark X -> proper# X, proper# U31 X -> U31# proper X) (top# mark X -> proper# X, proper# U21(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# U21(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (top# mark X -> proper# X, proper# isList X -> proper# X) (top# mark X -> proper# X, proper# isList X -> isList# proper X) (top# mark X -> proper# X, proper# U22 X -> proper# X) (top# mark X -> proper# X, proper# U22 X -> U22# proper X) (top# mark X -> proper# X, proper# U11 X -> proper# X) (top# mark X -> proper# X, proper# U11 X -> U11# proper X) (top# mark X -> proper# X, proper# __(X1, X2) -> proper# X2) (top# mark X -> proper# X, proper# __(X1, X2) -> proper# X1) (top# mark X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (__#(X1, mark X2) -> __#(X1, X2), __#(ok X1, ok X2) -> __#(X1, X2)) (__#(X1, mark X2) -> __#(X1, X2), __#(mark X1, X2) -> __#(X1, X2)) (__#(X1, mark X2) -> __#(X1, X2), __#(X1, mark X2) -> __#(X1, X2)) (__#(ok X1, ok X2) -> __#(X1, X2), __#(ok X1, ok X2) -> __#(X1, X2)) (__#(ok X1, ok X2) -> __#(X1, X2), __#(mark X1, X2) -> __#(X1, X2)) (__#(ok X1, ok X2) -> __#(X1, X2), __#(X1, mark X2) -> __#(X1, X2)) (U21#(ok X1, ok X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (U21#(ok X1, ok X2) -> U21#(X1, X2), U21#(mark X1, X2) -> U21#(X1, X2)) (U41#(ok X1, ok X2) -> U41#(X1, X2), U41#(ok X1, ok X2) -> U41#(X1, X2)) (U41#(ok X1, ok X2) -> U41#(X1, X2), U41#(mark X1, X2) -> U41#(X1, X2)) (U51#(ok X1, ok X2) -> U51#(X1, X2), U51#(ok X1, ok X2) -> U51#(X1, X2)) (U51#(ok X1, ok X2) -> U51#(X1, X2), U51#(mark X1, X2) -> U51#(X1, X2)) (U71#(ok X1, ok X2) -> U71#(X1, X2), U71#(ok X1, ok X2) -> U71#(X1, X2)) (U71#(ok X1, ok X2) -> U71#(X1, X2), U71#(mark X1, X2) -> U71#(X1, X2)) (active# isList V -> U11# isNeList V, U11# ok X -> U11# X) (active# isList V -> U11# isNeList V, U11# mark X -> U11# X) (active# isPal V -> U81# isNePal V, U81# ok X -> U81# X) (active# isPal V -> U81# isNePal V, U81# mark X -> U81# X) (active# U71(tt(), P) -> U72# isPal P, U72# ok X -> U72# X) (active# U71(tt(), P) -> U72# isPal P, U72# mark X -> U72# X) (active# U41(tt(), V2) -> U42# isNeList V2, U42# ok X -> U42# X) (active# U41(tt(), V2) -> U42# isNeList V2, U42# mark X -> U42# X) (active# U11 X -> U11# active X, U11# ok X -> U11# X) (active# U11 X -> U11# active X, U11# mark X -> U11# X) (active# U31 X -> U31# active X, U31# ok X -> U31# X) (active# U31 X -> U31# active X, U31# mark X -> U31# X) (active# U52 X -> U52# active X, U52# ok X -> U52# X) (active# U52 X -> U52# active X, U52# mark X -> U52# X) (active# U72 X -> U72# active X, U72# ok X -> U72# X) (active# U72 X -> U72# active X, U72# mark X -> U72# X) (proper# U11 X -> U11# proper X, U11# ok X -> U11# X) (proper# U11 X -> U11# proper X, U11# mark X -> U11# X) (proper# isList X -> isList# proper X, isList# ok X -> isList# X) (proper# U42 X -> U42# proper X, U42# ok X -> U42# X) (proper# U42 X -> U42# proper X, U42# mark X -> U42# X) (proper# U52 X -> U52# proper X, U52# ok X -> U52# X) (proper# U52 X -> U52# proper X, U52# mark X -> U52# X) (proper# U72 X -> U72# proper X, U72# ok X -> U72# X) (proper# U72 X -> U72# proper X, U72# mark X -> U72# X) (proper# U81 X -> U81# proper X, U81# ok X -> U81# X) (proper# U81 X -> U81# proper X, U81# mark X -> U81# X) (proper# isNePal X -> isNePal# proper X, isNePal# ok X -> isNePal# 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# isNeList __(V1, V2) -> U41#(isList V1, V2), U41#(ok X1, ok X2) -> U41#(X1, X2)) (active# isNeList __(V1, V2) -> U41#(isList V1, V2), U41#(mark X1, X2) -> U41#(X1, X2)) (active# __(X1, X2) -> active# X2, active# isNePal __(I, __(P, I)) -> isQid# I) (active# __(X1, X2) -> active# X2, active# isNePal __(I, __(P, I)) -> U71#(isQid I, P)) (active# __(X1, X2) -> active# X2, active# isNePal V -> isQid# V) (active# __(X1, X2) -> active# X2, active# isNePal V -> U61# isQid V) (active# __(X1, X2) -> active# X2, active# U81 X -> U81# active X) (active# __(X1, X2) -> active# X2, active# U81 X -> active# X) (active# __(X1, X2) -> active# X2, active# U71(tt(), P) -> isPal# P) (active# __(X1, X2) -> active# X2, active# U71(tt(), P) -> U72# isPal P) (active# __(X1, X2) -> active# X2, active# U71(X1, X2) -> U71#(active X1, X2)) (active# __(X1, X2) -> active# X2, active# U71(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X2, active# isPal V -> isNePal# V) (active# __(X1, X2) -> active# X2, active# isPal V -> U81# isNePal V) (active# __(X1, X2) -> active# X2, active# U72 X -> U72# active X) (active# __(X1, X2) -> active# X2, active# U72 X -> active# X) (active# __(X1, X2) -> active# X2, active# U61 X -> U61# active X) (active# __(X1, X2) -> active# X2, active# U61 X -> active# X) (active# __(X1, X2) -> active# X2, active# U51(tt(), V2) -> U52# isList V2) (active# __(X1, X2) -> active# X2, active# U51(tt(), V2) -> isList# V2) (active# __(X1, X2) -> active# X2, active# U51(X1, X2) -> U51#(active X1, X2)) (active# __(X1, X2) -> active# X2, active# U51(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X2, active# U52 X -> U52# active X) (active# __(X1, X2) -> active# X2, active# U52 X -> active# X) (active# __(X1, X2) -> active# X2, active# U41(tt(), V2) -> isNeList# V2) (active# __(X1, X2) -> active# X2, active# U41(tt(), V2) -> U42# isNeList V2) (active# __(X1, X2) -> active# X2, active# U41(X1, X2) -> U41#(active X1, X2)) (active# __(X1, X2) -> active# X2, active# U41(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X2, active# isNeList __(V1, V2) -> U51#(isNeList V1, V2)) (active# __(X1, X2) -> active# X2, active# isNeList __(V1, V2) -> U41#(isList V1, V2)) (active# __(X1, X2) -> active# X2, active# isNeList __(V1, V2) -> isNeList# V1) (active# __(X1, X2) -> active# X2, active# isNeList __(V1, V2) -> isList# V1) (active# __(X1, X2) -> active# X2, active# isNeList V -> isQid# V) (active# __(X1, X2) -> active# X2, active# isNeList V -> U31# isQid V) (active# __(X1, X2) -> active# X2, active# U42 X -> U42# active X) (active# __(X1, X2) -> active# X2, active# U42 X -> active# X) (active# __(X1, X2) -> active# X2, active# U31 X -> U31# active X) (active# __(X1, X2) -> active# X2, active# U31 X -> active# X) (active# __(X1, X2) -> active# X2, active# U21(tt(), V2) -> isList# V2) (active# __(X1, X2) -> active# X2, active# U21(tt(), V2) -> U22# isList V2) (active# __(X1, X2) -> active# X2, active# U21(X1, X2) -> U21#(active X1, X2)) (active# __(X1, X2) -> active# X2, active# U21(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X2, active# isList __(V1, V2) -> U21#(isList V1, V2)) (active# __(X1, X2) -> active# X2, active# isList __(V1, V2) -> isList# V1) (active# __(X1, X2) -> active# X2, active# isList V -> isNeList# V) (active# __(X1, X2) -> active# X2, active# isList V -> U11# isNeList V) (active# __(X1, X2) -> active# X2, active# U22 X -> U22# active X) (active# __(X1, X2) -> active# X2, active# U22 X -> active# X) (active# __(X1, X2) -> active# X2, active# U11 X -> U11# active X) (active# __(X1, X2) -> active# X2, active# U11 X -> active# X) (active# __(X1, X2) -> active# X2, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# __(X1, X2) -> active# X2, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# __(X1, X2) -> active# X2, active# __(X1, X2) -> active# X2) (active# __(X1, X2) -> active# X2, active# __(X1, X2) -> active# X1) (active# __(X1, X2) -> active# X2, active# __(X1, X2) -> __#(active X1, X2)) (active# __(X1, X2) -> active# X2, active# __(X1, X2) -> __#(X1, active X2)) (proper# U21(X1, X2) -> proper# X2, proper# isNePal X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# U21(X1, X2) -> proper# X2, proper# isQid X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U81 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U81 X -> U81# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# isPal X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U72 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U72 X -> U72# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U61 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U61 X -> U61# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# U52 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U52 X -> U52# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# isNeList X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U42 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U42 X -> U42# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U31 X -> U31# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U21(X1, X2) -> proper# X2, proper# isList X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# isList X -> isList# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U21(X1, X2) -> proper# X2, proper# U11 X -> proper# X) (proper# U21(X1, X2) -> proper# X2, proper# U11 X -> U11# proper X) (proper# U21(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# U21(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# U21(X1, X2) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U51(X1, X2) -> proper# X2, proper# isNePal X -> proper# X) (proper# U51(X1, X2) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# U51(X1, X2) -> proper# X2, proper# isQid X -> proper# X) (proper# U51(X1, X2) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# U51(X1, X2) -> proper# X2, proper# U81 X -> proper# X) (proper# U51(X1, X2) -> proper# X2, proper# U81 X -> U81# proper X) (proper# U51(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# U51(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# U51(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U51(X1, X2) -> proper# X2, proper# isPal X -> proper# X) (proper# U51(X1, X2) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# U51(X1, X2) -> proper# X2, proper# U72 X -> proper# X) (proper# U51(X1, X2) -> proper# X2, proper# U72 X -> U72# proper X) (proper# U51(X1, X2) -> proper# X2, proper# U61 X -> proper# X) (proper# U51(X1, X2) -> proper# X2, proper# U61 X -> U61# proper X) (proper# U51(X1, X2) -> proper# X2, proper# U51(X1, X2) -> proper# X2) (proper# U51(X1, X2) -> proper# X2, proper# U51(X1, X2) -> proper# X1) (proper# U51(X1, X2) -> proper# X2, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# U51(X1, X2) -> proper# X2, proper# U52 X -> proper# X) (proper# U51(X1, X2) -> proper# X2, proper# U52 X -> U52# proper X) (proper# U51(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2) (proper# U51(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1) (proper# U51(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U51(X1, X2) -> proper# X2, proper# isNeList X -> proper# X) (proper# U51(X1, X2) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# U51(X1, X2) -> proper# X2, proper# U42 X -> proper# X) (proper# U51(X1, X2) -> proper# X2, proper# U42 X -> U42# proper X) (proper# U51(X1, X2) -> proper# X2, proper# U31 X -> proper# X) (proper# U51(X1, X2) -> proper# X2, proper# U31 X -> U31# proper X) (proper# U51(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U51(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U51(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U51(X1, X2) -> proper# X2, proper# isList X -> proper# X) (proper# U51(X1, X2) -> proper# X2, proper# isList X -> isList# proper X) (proper# U51(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U51(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U51(X1, X2) -> proper# X2, proper# U11 X -> proper# X) (proper# U51(X1, X2) -> proper# X2, proper# U11 X -> U11# proper X) (proper# U51(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# U51(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# U51(X1, X2) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (active# U71(tt(), P) -> isPal# P, isPal# ok X -> isPal# X) (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# U41(X1, X2) -> U41#(proper X1, proper X2), U41#(ok X1, ok X2) -> U41#(X1, X2)) (proper# U41(X1, X2) -> U41#(proper X1, proper X2), U41#(mark X1, X2) -> U41#(X1, X2)) (proper# U71(X1, X2) -> U71#(proper X1, proper X2), U71#(ok X1, ok X2) -> U71#(X1, X2)) (proper# U71(X1, X2) -> U71#(proper X1, proper X2), U71#(mark X1, X2) -> U71#(X1, X2)) (active# isNeList __(V1, V2) -> isList# V1, isList# ok X -> isList# X) (active# isNeList __(V1, V2) -> isNeList# V1, isNeList# ok X -> isNeList# X) (active# isList __(V1, V2) -> isList# V1, isList# ok X -> isList# X) (proper# U51(X1, X2) -> U51#(proper X1, proper X2), U51#(mark X1, X2) -> U51#(X1, X2)) (proper# U51(X1, X2) -> U51#(proper X1, proper X2), U51#(ok X1, ok X2) -> U51#(X1, X2)) (proper# U21(X1, X2) -> U21#(proper X1, proper X2), U21#(mark X1, X2) -> U21#(X1, X2)) (proper# U21(X1, X2) -> U21#(proper X1, proper X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (active# __(X1, X2) -> __#(X1, active X2), __#(X1, mark X2) -> __#(X1, X2)) (active# __(X1, X2) -> __#(X1, active X2), __#(ok X1, ok X2) -> __#(X1, X2)) (proper# U71(X1, X2) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# U11 X -> U11# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U11 X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# isList X -> isList# proper X) (proper# U71(X1, X2) -> proper# X2, proper# isList X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# U31 X -> U31# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U31 X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# U42 X -> U42# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U42 X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# U71(X1, X2) -> proper# X2, proper# isNeList X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# U52 X -> U52# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U52 X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X2, proper# U51(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# U51(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# U61 X -> U61# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U61 X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# U72 X -> U72# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U72 X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# U71(X1, X2) -> proper# X2, proper# isPal X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X2, proper# U81 X -> U81# proper X) (proper# U71(X1, X2) -> proper# X2, proper# U81 X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# U71(X1, X2) -> proper# X2, proper# isQid X -> proper# X) (proper# U71(X1, X2) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# U71(X1, X2) -> proper# X2, proper# isNePal X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X2, proper# U11 X -> U11# proper X) (proper# U41(X1, X2) -> proper# X2, proper# U11 X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# U41(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# isList X -> isList# proper X) (proper# U41(X1, X2) -> proper# X2, proper# isList X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X2, proper# U31 X -> U31# proper X) (proper# U41(X1, X2) -> proper# X2, proper# U31 X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# U42 X -> U42# proper X) (proper# U41(X1, X2) -> proper# X2, proper# U42 X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# U41(X1, X2) -> proper# X2, proper# isNeList X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X2, proper# U52 X -> U52# proper X) (proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X2, proper# U51(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X2, proper# U51(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X2, proper# U61 X -> U61# proper X) (proper# U41(X1, X2) -> proper# X2, proper# U61 X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# U72 X -> U72# proper X) (proper# U41(X1, X2) -> proper# X2, proper# U72 X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# U41(X1, X2) -> proper# X2, proper# isPal X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X2, proper# U81 X -> U81# proper X) (proper# U41(X1, X2) -> proper# X2, proper# U81 X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# U41(X1, X2) -> proper# X2, proper# isQid X -> proper# X) (proper# U41(X1, X2) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# U41(X1, X2) -> proper# X2, proper# isNePal X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# __(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# U11 X -> U11# proper X) (proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# U22 X -> U22# proper X) (proper# __(X1, X2) -> proper# X2, proper# U22 X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# isList X -> isList# proper X) (proper# __(X1, X2) -> proper# X2, proper# isList X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# U21(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# U31 X -> U31# proper X) (proper# __(X1, X2) -> proper# X2, proper# U31 X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# U42 X -> U42# proper X) (proper# __(X1, X2) -> proper# X2, proper# U42 X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# isNeList X -> isNeList# proper X) (proper# __(X1, X2) -> proper# X2, proper# isNeList X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# U41(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# U52 X -> U52# proper X) (proper# __(X1, X2) -> proper# X2, proper# U52 X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X2, proper# U51(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# U51(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# U61 X -> U61# proper X) (proper# __(X1, X2) -> proper# X2, proper# U61 X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# U72 X -> U72# proper X) (proper# __(X1, X2) -> proper# X2, proper# U72 X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# isPal X -> isPal# proper X) (proper# __(X1, X2) -> proper# X2, proper# isPal X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X2, proper# U71(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X2, proper# U81 X -> U81# proper X) (proper# __(X1, X2) -> proper# X2, proper# U81 X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# isQid X -> isQid# proper X) (proper# __(X1, X2) -> proper# X2, proper# isQid X -> proper# X) (proper# __(X1, X2) -> proper# X2, proper# isNePal X -> isNePal# proper X) (proper# __(X1, X2) -> proper# X2, proper# isNePal X -> proper# X) (active# isNeList __(V1, V2) -> U51#(isNeList V1, V2), U51#(mark X1, X2) -> U51#(X1, X2)) (active# isNeList __(V1, V2) -> U51#(isNeList V1, V2), U51#(ok X1, ok X2) -> U51#(X1, X2)) (active# isList __(V1, V2) -> U21#(isList V1, V2), U21#(mark X1, X2) -> U21#(X1, X2)) (active# isList __(V1, V2) -> U21#(isList V1, V2), U21#(ok X1, ok X2) -> U21#(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# isQid X -> isQid# proper X, isQid# ok X -> isQid# X) (proper# isPal X -> isPal# proper X, isPal# ok X -> isPal# X) (proper# U61 X -> U61# proper X, U61# mark X -> U61# X) (proper# U61 X -> U61# proper X, U61# ok X -> U61# X) (proper# isNeList X -> isNeList# proper X, isNeList# ok X -> isNeList# X) (proper# U31 X -> U31# proper X, U31# mark X -> U31# X) (proper# U31 X -> U31# proper X, U31# ok X -> U31# X) (proper# U22 X -> U22# proper X, U22# mark X -> U22# X) (proper# U22 X -> U22# proper X, U22# ok X -> U22# X) (active# U81 X -> U81# active X, U81# mark X -> U81# X) (active# U81 X -> U81# active X, U81# ok X -> U81# X) (active# U61 X -> U61# active X, U61# mark X -> U61# X) (active# U61 X -> U61# active X, U61# ok X -> U61# X) (active# U42 X -> U42# active X, U42# mark X -> U42# X) (active# U42 X -> U42# active X, U42# ok X -> U42# X) (active# U22 X -> U22# active X, U22# mark X -> U22# X) (active# U22 X -> U22# active X, U22# ok X -> U22# X) (active# U51(tt(), V2) -> U52# isList V2, U52# mark X -> U52# X) (active# U51(tt(), V2) -> U52# isList V2, U52# ok X -> U52# X) (active# U21(tt(), V2) -> U22# isList V2, U22# mark X -> U22# X) (active# U21(tt(), V2) -> U22# isList V2, U22# ok X -> U22# X) (active# isNePal V -> U61# isQid V, U61# mark X -> U61# X) (active# isNePal V -> U61# isQid V, U61# ok X -> U61# X) (active# isNeList V -> U31# isQid V, U31# mark X -> U31# X) (active# isNeList V -> U31# isQid V, U31# ok X -> U31# X) (active# isNePal __(I, __(P, I)) -> isQid# I, isQid# ok X -> isQid# X) (U71#(mark X1, X2) -> U71#(X1, X2), U71#(mark X1, X2) -> U71#(X1, X2)) (U71#(mark X1, X2) -> U71#(X1, X2), U71#(ok X1, ok X2) -> U71#(X1, X2)) (U51#(mark X1, X2) -> U51#(X1, X2), U51#(mark X1, X2) -> U51#(X1, X2)) (U51#(mark X1, X2) -> U51#(X1, X2), U51#(ok X1, ok X2) -> U51#(X1, X2)) (U41#(mark X1, X2) -> U41#(X1, X2), U41#(mark X1, X2) -> U41#(X1, X2)) (U41#(mark X1, X2) -> U41#(X1, X2), U41#(ok X1, ok X2) -> U41#(X1, X2)) (U21#(mark X1, X2) -> U21#(X1, X2), U21#(mark X1, X2) -> U21#(X1, X2)) (U21#(mark X1, X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)) (__#(mark X1, X2) -> __#(X1, X2), __#(X1, mark X2) -> __#(X1, X2)) (__#(mark X1, X2) -> __#(X1, X2), __#(mark X1, X2) -> __#(X1, X2)) (__#(mark X1, X2) -> __#(X1, X2), __#(ok X1, ok X2) -> __#(X1, X2)) (top# ok X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (top# ok X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (top# ok X -> active# X, active# __(X1, X2) -> active# X1) (top# ok X -> active# X, active# __(X1, X2) -> active# X2) (top# ok X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (top# ok X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (top# ok X -> active# X, active# U11 X -> active# X) (top# ok X -> active# X, active# U11 X -> U11# active X) (top# ok X -> active# X, active# U22 X -> active# X) (top# ok X -> active# X, active# U22 X -> U22# active X) (top# ok X -> active# X, active# isList V -> U11# isNeList V) (top# ok X -> active# X, active# isList V -> isNeList# V) (top# ok X -> active# X, active# isList __(V1, V2) -> isList# V1) (top# ok X -> active# X, active# isList __(V1, V2) -> U21#(isList V1, V2)) (top# ok X -> active# X, active# U21(X1, X2) -> active# X1) (top# ok X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (top# ok X -> active# X, active# U21(tt(), V2) -> U22# isList V2) (top# ok X -> active# X, active# U21(tt(), V2) -> isList# V2) (top# ok X -> active# X, active# U31 X -> active# X) (top# ok X -> active# X, active# U31 X -> U31# active X) (top# ok X -> active# X, active# U42 X -> active# X) (top# ok X -> active# X, active# U42 X -> U42# active X) (top# ok X -> active# X, active# isNeList V -> U31# isQid V) (top# ok X -> active# X, active# isNeList V -> isQid# V) (top# ok X -> active# X, active# isNeList __(V1, V2) -> isList# V1) (top# ok X -> active# X, active# isNeList __(V1, V2) -> isNeList# V1) (top# ok X -> active# X, active# isNeList __(V1, V2) -> U41#(isList V1, V2)) (top# ok X -> active# X, active# isNeList __(V1, V2) -> U51#(isNeList V1, V2)) (top# ok X -> active# X, active# U41(X1, X2) -> active# X1) (top# ok X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2)) (top# ok X -> active# X, active# U41(tt(), V2) -> U42# isNeList V2) (top# ok X -> active# X, active# U41(tt(), V2) -> isNeList# V2) (top# ok X -> active# X, active# U52 X -> active# X) (top# ok X -> active# X, active# U52 X -> U52# active X) (top# ok X -> active# X, active# U51(X1, X2) -> active# X1) (top# ok X -> active# X, active# U51(X1, X2) -> U51#(active X1, X2)) (top# ok X -> active# X, active# U51(tt(), V2) -> isList# V2) (top# ok X -> active# X, active# U51(tt(), V2) -> U52# isList V2) (top# ok X -> active# X, active# U61 X -> active# X) (top# ok X -> active# X, active# U61 X -> U61# active X) (top# ok X -> active# X, active# U72 X -> active# X) (top# ok X -> active# X, active# U72 X -> U72# active X) (top# ok X -> active# X, active# isPal V -> U81# isNePal V) (top# ok X -> active# X, active# isPal V -> isNePal# V) (top# ok X -> active# X, active# U71(X1, X2) -> active# X1) (top# ok X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (top# ok X -> active# X, active# U71(tt(), P) -> U72# isPal P) (top# ok X -> active# X, active# U71(tt(), P) -> isPal# P) (top# ok X -> active# X, active# U81 X -> active# X) (top# ok X -> active# X, active# U81 X -> U81# active X) (top# ok X -> active# X, active# isNePal V -> U61# isQid V) (top# ok X -> active# X, active# isNePal V -> isQid# V) (top# ok X -> active# X, active# isNePal __(I, __(P, I)) -> U71#(isQid I, P)) (top# ok X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (proper# isNePal X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# isNePal X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# isNePal X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# isNePal X -> proper# X, proper# U11 X -> U11# proper X) (proper# isNePal X -> proper# X, proper# U11 X -> proper# X) (proper# isNePal X -> proper# X, proper# U22 X -> U22# proper X) (proper# isNePal X -> proper# X, proper# U22 X -> proper# X) (proper# isNePal X -> proper# X, proper# isList X -> isList# proper X) (proper# isNePal X -> proper# X, proper# isList X -> proper# X) (proper# isNePal X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isNePal X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isNePal X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isNePal X -> proper# X, proper# U31 X -> U31# proper X) (proper# isNePal X -> proper# X, proper# U31 X -> proper# X) (proper# isNePal X -> proper# X, proper# U42 X -> U42# proper X) (proper# isNePal X -> proper# X, proper# U42 X -> proper# X) (proper# isNePal X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# isNePal X -> proper# X, proper# isNeList X -> proper# X) (proper# isNePal X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# isNePal X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# isNePal X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# isNePal X -> proper# X, proper# U52 X -> U52# proper X) (proper# isNePal X -> proper# X, proper# U52 X -> proper# X) (proper# isNePal X -> proper# X, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# isNePal X -> proper# X, proper# U51(X1, X2) -> proper# X1) (proper# isNePal X -> proper# X, proper# U51(X1, X2) -> proper# X2) (proper# isNePal X -> proper# X, proper# U61 X -> U61# proper X) (proper# isNePal X -> proper# X, proper# U61 X -> proper# X) (proper# isNePal X -> proper# X, proper# U72 X -> U72# proper X) (proper# isNePal X -> proper# X, proper# U72 X -> proper# X) (proper# isNePal X -> proper# X, proper# isPal X -> isPal# proper X) (proper# isNePal X -> proper# X, proper# isPal X -> proper# X) (proper# isNePal X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# isNePal X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# isNePal X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# isNePal X -> proper# X, proper# U81 X -> U81# proper X) (proper# isNePal X -> proper# X, proper# U81 X -> proper# X) (proper# isNePal X -> proper# X, proper# isQid X -> isQid# proper X) (proper# isNePal X -> proper# X, proper# isQid X -> proper# X) (proper# isNePal X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# isNePal X -> proper# X, proper# isNePal X -> proper# X) (proper# U81 X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U81 X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# U81 X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# U81 X -> proper# X, proper# U11 X -> U11# proper X) (proper# U81 X -> proper# X, proper# U11 X -> proper# X) (proper# U81 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U81 X -> proper# X, proper# U22 X -> proper# X) (proper# U81 X -> proper# X, proper# isList X -> isList# proper X) (proper# U81 X -> proper# X, proper# isList X -> proper# X) (proper# U81 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U81 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U81 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U81 X -> proper# X, proper# U31 X -> U31# proper X) (proper# U81 X -> proper# X, proper# U31 X -> proper# X) (proper# U81 X -> proper# X, proper# U42 X -> U42# proper X) (proper# U81 X -> proper# X, proper# U42 X -> proper# X) (proper# U81 X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# U81 X -> proper# X, proper# isNeList X -> proper# X) (proper# U81 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U81 X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# U81 X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# U81 X -> proper# X, proper# U52 X -> U52# proper X) (proper# U81 X -> proper# X, proper# U52 X -> proper# X) (proper# U81 X -> proper# X, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# U81 X -> proper# X, proper# U51(X1, X2) -> proper# X1) (proper# U81 X -> proper# X, proper# U51(X1, X2) -> proper# X2) (proper# U81 X -> proper# X, proper# U61 X -> U61# proper X) (proper# U81 X -> proper# X, proper# U61 X -> proper# X) (proper# U81 X -> proper# X, proper# U72 X -> U72# proper X) (proper# U81 X -> proper# X, proper# U72 X -> proper# X) (proper# U81 X -> proper# X, proper# isPal X -> isPal# proper X) (proper# U81 X -> proper# X, proper# isPal X -> proper# X) (proper# U81 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U81 X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# U81 X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# U81 X -> proper# X, proper# U81 X -> U81# proper X) (proper# U81 X -> proper# X, proper# U81 X -> proper# X) (proper# U81 X -> proper# X, proper# isQid X -> isQid# proper X) (proper# U81 X -> proper# X, proper# isQid X -> proper# X) (proper# U81 X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# U81 X -> proper# X, proper# isNePal 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# U11 X -> U11# proper X) (proper# U72 X -> proper# X, proper# U11 X -> proper# X) (proper# U72 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U72 X -> proper# X, proper# U22 X -> proper# X) (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) -> U21#(proper X1, proper X2)) (proper# U72 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U72 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U72 X -> proper# X, proper# U31 X -> U31# proper X) (proper# U72 X -> proper# X, proper# U31 X -> proper# X) (proper# U72 X -> proper# X, proper# U42 X -> U42# proper X) (proper# U72 X -> proper# X, proper# U42 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# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U72 X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# U72 X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# U72 X -> proper# X, proper# U52 X -> U52# proper X) (proper# U72 X -> proper# X, proper# U52 X -> proper# X) (proper# U72 X -> proper# X, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# U72 X -> proper# X, proper# U51(X1, X2) -> proper# X1) (proper# U72 X -> proper# X, proper# U51(X1, X2) -> proper# X2) (proper# U72 X -> proper# X, proper# U61 X -> U61# proper X) (proper# U72 X -> proper# X, proper# U61 X -> proper# X) (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# isPal X -> isPal# proper X) (proper# U72 X -> proper# X, proper# isPal 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# U81 X -> U81# proper X) (proper# U72 X -> proper# X, proper# U81 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# isNePal X -> isNePal# proper X) (proper# U72 X -> proper# X, proper# isNePal X -> proper# X) (proper# U52 X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U52 X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# U52 X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# U52 X -> proper# X, proper# U11 X -> U11# proper X) (proper# U52 X -> proper# X, proper# U11 X -> proper# X) (proper# U52 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U52 X -> proper# X, proper# U22 X -> proper# X) (proper# U52 X -> proper# X, proper# isList X -> isList# proper X) (proper# U52 X -> proper# X, proper# isList X -> proper# X) (proper# U52 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U52 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U52 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U52 X -> proper# X, proper# U31 X -> U31# proper X) (proper# U52 X -> proper# X, proper# U31 X -> proper# X) (proper# U52 X -> proper# X, proper# U42 X -> U42# proper X) (proper# U52 X -> proper# X, proper# U42 X -> proper# X) (proper# U52 X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# U52 X -> proper# X, proper# isNeList X -> proper# X) (proper# U52 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U52 X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# U52 X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# U52 X -> proper# X, proper# U52 X -> U52# proper X) (proper# U52 X -> proper# X, proper# U52 X -> proper# X) (proper# U52 X -> proper# X, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1) (proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X2) (proper# U52 X -> proper# X, proper# U61 X -> U61# proper X) (proper# U52 X -> proper# X, proper# U61 X -> proper# X) (proper# U52 X -> proper# X, proper# U72 X -> U72# proper X) (proper# U52 X -> proper# X, proper# U72 X -> proper# X) (proper# U52 X -> proper# X, proper# isPal X -> isPal# proper X) (proper# U52 X -> proper# X, proper# isPal X -> proper# X) (proper# U52 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U52 X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# U52 X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# U52 X -> proper# X, proper# U81 X -> U81# proper X) (proper# U52 X -> proper# X, proper# U81 X -> proper# X) (proper# U52 X -> proper# X, proper# isQid X -> isQid# proper X) (proper# U52 X -> proper# X, proper# isQid X -> proper# X) (proper# U52 X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# U52 X -> proper# X, proper# isNePal X -> proper# X) (proper# U42 X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U42 X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# U42 X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# U42 X -> proper# X, proper# U11 X -> U11# proper X) (proper# U42 X -> proper# X, proper# U11 X -> proper# X) (proper# U42 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U42 X -> proper# X, proper# U22 X -> proper# X) (proper# U42 X -> proper# X, proper# isList X -> isList# proper X) (proper# U42 X -> proper# X, proper# isList X -> proper# X) (proper# U42 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U42 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U42 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U42 X -> proper# X, proper# U31 X -> U31# proper X) (proper# U42 X -> proper# X, proper# U31 X -> proper# X) (proper# U42 X -> proper# X, proper# U42 X -> U42# proper X) (proper# U42 X -> proper# X, proper# U42 X -> proper# X) (proper# U42 X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# U42 X -> proper# X, proper# isNeList X -> proper# X) (proper# U42 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U42 X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# U42 X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# U42 X -> proper# X, proper# U52 X -> U52# proper X) (proper# U42 X -> proper# X, proper# U52 X -> proper# X) (proper# U42 X -> proper# X, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# U42 X -> proper# X, proper# U51(X1, X2) -> proper# X1) (proper# U42 X -> proper# X, proper# U51(X1, X2) -> proper# X2) (proper# U42 X -> proper# X, proper# U61 X -> U61# proper X) (proper# U42 X -> proper# X, proper# U61 X -> proper# X) (proper# U42 X -> proper# X, proper# U72 X -> U72# proper X) (proper# U42 X -> proper# X, proper# U72 X -> proper# X) (proper# U42 X -> proper# X, proper# isPal X -> isPal# proper X) (proper# U42 X -> proper# X, proper# isPal X -> proper# X) (proper# U42 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U42 X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# U42 X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# U42 X -> proper# X, proper# U81 X -> U81# proper X) (proper# U42 X -> proper# X, proper# U81 X -> proper# X) (proper# U42 X -> proper# X, proper# isQid X -> isQid# proper X) (proper# U42 X -> proper# X, proper# isQid X -> proper# X) (proper# U42 X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# U42 X -> proper# X, proper# isNePal X -> proper# X) (proper# isList X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# isList X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# isList X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# isList X -> proper# X, proper# U11 X -> U11# proper X) (proper# isList X -> proper# X, proper# U11 X -> proper# X) (proper# isList X -> proper# X, proper# U22 X -> U22# proper X) (proper# isList X -> proper# X, proper# U22 X -> proper# X) (proper# isList X -> proper# X, proper# isList X -> isList# proper X) (proper# isList X -> proper# X, proper# isList X -> proper# X) (proper# isList X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# isList X -> proper# X, proper# U31 X -> U31# proper X) (proper# isList X -> proper# X, proper# U31 X -> proper# X) (proper# isList X -> proper# X, proper# U42 X -> U42# proper X) (proper# isList X -> proper# X, proper# U42 X -> proper# X) (proper# isList X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# isList X -> proper# X, proper# isNeList X -> proper# X) (proper# isList X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# isList X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# isList X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# isList X -> proper# X, proper# U52 X -> U52# proper X) (proper# isList X -> proper# X, proper# U52 X -> proper# X) (proper# isList X -> proper# X, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# isList X -> proper# X, proper# U51(X1, X2) -> proper# X1) (proper# isList X -> proper# X, proper# U51(X1, X2) -> proper# X2) (proper# isList X -> proper# X, proper# U61 X -> U61# proper X) (proper# isList X -> proper# X, proper# U61 X -> proper# X) (proper# isList X -> proper# X, proper# U72 X -> U72# proper X) (proper# isList X -> proper# X, proper# U72 X -> proper# X) (proper# isList X -> proper# X, proper# isPal X -> isPal# proper X) (proper# isList X -> proper# X, proper# isPal X -> proper# X) (proper# isList X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# isList X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# isList X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# isList X -> proper# X, proper# U81 X -> U81# proper X) (proper# isList X -> proper# X, proper# U81 X -> proper# X) (proper# isList X -> proper# X, proper# isQid X -> isQid# proper X) (proper# isList X -> proper# X, proper# isQid X -> proper# X) (proper# isList X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# isList X -> proper# X, proper# isNePal X -> proper# X) (proper# U11 X -> proper# X, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U11 X -> proper# X, proper# __(X1, X2) -> proper# X1) (proper# U11 X -> proper# X, proper# __(X1, X2) -> proper# X2) (proper# U11 X -> proper# X, proper# U11 X -> U11# proper X) (proper# U11 X -> proper# X, proper# U11 X -> proper# X) (proper# U11 X -> proper# X, proper# U22 X -> U22# proper X) (proper# U11 X -> proper# X, proper# U22 X -> proper# X) (proper# U11 X -> proper# X, proper# isList X -> isList# proper X) (proper# U11 X -> proper# X, proper# isList X -> proper# X) (proper# U11 X -> proper# X, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U11 X -> proper# X, proper# U21(X1, X2) -> proper# X1) (proper# U11 X -> proper# X, proper# U21(X1, X2) -> proper# X2) (proper# U11 X -> proper# X, proper# U31 X -> U31# proper X) (proper# U11 X -> proper# X, proper# U31 X -> proper# X) (proper# U11 X -> proper# X, proper# U42 X -> U42# proper X) (proper# U11 X -> proper# X, proper# U42 X -> proper# X) (proper# U11 X -> proper# X, proper# isNeList X -> isNeList# proper X) (proper# U11 X -> proper# X, proper# isNeList X -> proper# X) (proper# U11 X -> proper# X, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U11 X -> proper# X, proper# U41(X1, X2) -> proper# X1) (proper# U11 X -> proper# X, proper# U41(X1, X2) -> proper# X2) (proper# U11 X -> proper# X, proper# U52 X -> U52# proper X) (proper# U11 X -> proper# X, proper# U52 X -> proper# X) (proper# U11 X -> proper# X, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# U11 X -> proper# X, proper# U51(X1, X2) -> proper# X1) (proper# U11 X -> proper# X, proper# U51(X1, X2) -> proper# X2) (proper# U11 X -> proper# X, proper# U61 X -> U61# proper X) (proper# U11 X -> proper# X, proper# U61 X -> proper# X) (proper# U11 X -> proper# X, proper# U72 X -> U72# proper X) (proper# U11 X -> proper# X, proper# U72 X -> proper# X) (proper# U11 X -> proper# X, proper# isPal X -> isPal# proper X) (proper# U11 X -> proper# X, proper# isPal X -> proper# X) (proper# U11 X -> proper# X, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U11 X -> proper# X, proper# U71(X1, X2) -> proper# X1) (proper# U11 X -> proper# X, proper# U71(X1, X2) -> proper# X2) (proper# U11 X -> proper# X, proper# U81 X -> U81# proper X) (proper# U11 X -> proper# X, proper# U81 X -> proper# X) (proper# U11 X -> proper# X, proper# isQid X -> isQid# proper X) (proper# U11 X -> proper# X, proper# isQid X -> proper# X) (proper# U11 X -> proper# X, proper# isNePal X -> isNePal# proper X) (proper# U11 X -> proper# X, proper# isNePal X -> proper# X) (isQid# ok X -> isQid# X, isQid# ok X -> isQid# X) (U81# mark X -> U81# X, U81# mark X -> U81# X) (U81# mark X -> U81# X, U81# ok X -> U81# X) (U72# ok X -> U72# X, U72# mark X -> U72# X) (U72# ok X -> U72# X, U72# ok X -> U72# X) (U61# ok X -> U61# X, U61# mark X -> U61# X) (U61# ok X -> U61# X, U61# ok X -> U61# X) (U52# ok X -> U52# X, U52# mark X -> U52# X) (U52# ok X -> U52# X, U52# ok X -> U52# X) (isNeList# ok X -> isNeList# X, isNeList# ok X -> isNeList# X) (U42# mark X -> U42# X, U42# mark X -> U42# X) (U42# mark X -> U42# X, U42# ok X -> U42# X) (U31# mark X -> U31# X, U31# mark X -> U31# X) (U31# mark X -> U31# X, U31# ok X -> U31# X) (U22# ok X -> U22# X, U22# mark X -> U22# X) (U22# ok X -> U22# X, U22# ok X -> U22# X) (U11# ok X -> U11# X, U11# mark X -> U11# X) (U11# ok X -> U11# X, U11# ok X -> U11# X) (active# U81 X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (active# U81 X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (active# U81 X -> active# X, active# __(X1, X2) -> active# X1) (active# U81 X -> active# X, active# __(X1, X2) -> active# X2) (active# U81 X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U81 X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U81 X -> active# X, active# U11 X -> active# X) (active# U81 X -> active# X, active# U11 X -> U11# active X) (active# U81 X -> active# X, active# U22 X -> active# X) (active# U81 X -> active# X, active# U22 X -> U22# active X) (active# U81 X -> active# X, active# isList V -> U11# isNeList V) (active# U81 X -> active# X, active# isList V -> isNeList# V) (active# U81 X -> active# X, active# isList __(V1, V2) -> isList# V1) (active# U81 X -> active# X, active# isList __(V1, V2) -> U21#(isList V1, V2)) (active# U81 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U81 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U81 X -> active# X, active# U21(tt(), V2) -> U22# isList V2) (active# U81 X -> active# X, active# U21(tt(), V2) -> isList# V2) (active# U81 X -> active# X, active# U31 X -> active# X) (active# U81 X -> active# X, active# U31 X -> U31# active X) (active# U81 X -> active# X, active# U42 X -> active# X) (active# U81 X -> active# X, active# U42 X -> U42# active X) (active# U81 X -> active# X, active# isNeList V -> U31# isQid V) (active# U81 X -> active# X, active# isNeList V -> isQid# V) (active# U81 X -> active# X, active# isNeList __(V1, V2) -> isList# V1) (active# U81 X -> active# X, active# isNeList __(V1, V2) -> isNeList# V1) (active# U81 X -> active# X, active# isNeList __(V1, V2) -> U41#(isList V1, V2)) (active# U81 X -> active# X, active# isNeList __(V1, V2) -> U51#(isNeList V1, V2)) (active# U81 X -> active# X, active# U41(X1, X2) -> active# X1) (active# U81 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U81 X -> active# X, active# U41(tt(), V2) -> U42# isNeList V2) (active# U81 X -> active# X, active# U41(tt(), V2) -> isNeList# V2) (active# U81 X -> active# X, active# U52 X -> active# X) (active# U81 X -> active# X, active# U52 X -> U52# active X) (active# U81 X -> active# X, active# U51(X1, X2) -> active# X1) (active# U81 X -> active# X, active# U51(X1, X2) -> U51#(active X1, X2)) (active# U81 X -> active# X, active# U51(tt(), V2) -> isList# V2) (active# U81 X -> active# X, active# U51(tt(), V2) -> U52# isList V2) (active# U81 X -> active# X, active# U61 X -> active# X) (active# U81 X -> active# X, active# U61 X -> U61# active X) (active# U81 X -> active# X, active# U72 X -> active# X) (active# U81 X -> active# X, active# U72 X -> U72# active X) (active# U81 X -> active# X, active# isPal V -> U81# isNePal V) (active# U81 X -> active# X, active# isPal V -> isNePal# V) (active# U81 X -> active# X, active# U71(X1, X2) -> active# X1) (active# U81 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U81 X -> active# X, active# U71(tt(), P) -> U72# isPal P) (active# U81 X -> active# X, active# U71(tt(), P) -> isPal# P) (active# U81 X -> active# X, active# U81 X -> active# X) (active# U81 X -> active# X, active# U81 X -> U81# active X) (active# U81 X -> active# X, active# isNePal V -> U61# isQid V) (active# U81 X -> active# X, active# isNePal V -> isQid# V) (active# U81 X -> active# X, active# isNePal __(I, __(P, I)) -> U71#(isQid I, P)) (active# U81 X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U61 X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (active# U61 X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (active# U61 X -> active# X, active# __(X1, X2) -> active# X1) (active# U61 X -> active# X, active# __(X1, X2) -> active# X2) (active# U61 X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U61 X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U61 X -> active# X, active# U11 X -> active# X) (active# U61 X -> active# X, active# U11 X -> U11# active X) (active# U61 X -> active# X, active# U22 X -> active# X) (active# U61 X -> active# X, active# U22 X -> U22# active X) (active# U61 X -> active# X, active# isList V -> U11# isNeList V) (active# U61 X -> active# X, active# isList V -> isNeList# V) (active# U61 X -> active# X, active# isList __(V1, V2) -> isList# V1) (active# U61 X -> active# X, active# isList __(V1, V2) -> U21#(isList V1, V2)) (active# U61 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U61 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U61 X -> active# X, active# U21(tt(), V2) -> U22# isList V2) (active# U61 X -> active# X, active# U21(tt(), V2) -> isList# V2) (active# U61 X -> active# X, active# U31 X -> active# X) (active# U61 X -> active# X, active# U31 X -> U31# active X) (active# U61 X -> active# X, active# U42 X -> active# X) (active# U61 X -> active# X, active# U42 X -> U42# active X) (active# U61 X -> active# X, active# isNeList V -> U31# isQid V) (active# U61 X -> active# X, active# isNeList V -> isQid# V) (active# U61 X -> active# X, active# isNeList __(V1, V2) -> isList# V1) (active# U61 X -> active# X, active# isNeList __(V1, V2) -> isNeList# V1) (active# U61 X -> active# X, active# isNeList __(V1, V2) -> U41#(isList V1, V2)) (active# U61 X -> active# X, active# isNeList __(V1, V2) -> U51#(isNeList V1, V2)) (active# U61 X -> active# X, active# U41(X1, X2) -> active# X1) (active# U61 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U61 X -> active# X, active# U41(tt(), V2) -> U42# isNeList V2) (active# U61 X -> active# X, active# U41(tt(), V2) -> isNeList# V2) (active# U61 X -> active# X, active# U52 X -> active# X) (active# U61 X -> active# X, active# U52 X -> U52# active X) (active# U61 X -> active# X, active# U51(X1, X2) -> active# X1) (active# U61 X -> active# X, active# U51(X1, X2) -> U51#(active X1, X2)) (active# U61 X -> active# X, active# U51(tt(), V2) -> isList# V2) (active# U61 X -> active# X, active# U51(tt(), V2) -> U52# isList V2) (active# U61 X -> active# X, active# U61 X -> active# X) (active# U61 X -> active# X, active# U61 X -> U61# active X) (active# U61 X -> active# X, active# U72 X -> active# X) (active# U61 X -> active# X, active# U72 X -> U72# active X) (active# U61 X -> active# X, active# isPal V -> U81# isNePal V) (active# U61 X -> active# X, active# isPal V -> isNePal# V) (active# U61 X -> active# X, active# U71(X1, X2) -> active# X1) (active# U61 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U61 X -> active# X, active# U71(tt(), P) -> U72# isPal P) (active# U61 X -> active# X, active# U71(tt(), P) -> isPal# P) (active# U61 X -> active# X, active# U81 X -> active# X) (active# U61 X -> active# X, active# U81 X -> U81# active X) (active# U61 X -> active# X, active# isNePal V -> U61# isQid V) (active# U61 X -> active# X, active# isNePal V -> isQid# V) (active# U61 X -> active# X, active# isNePal __(I, __(P, I)) -> U71#(isQid I, P)) (active# U61 X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U42 X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (active# U42 X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (active# U42 X -> active# X, active# __(X1, X2) -> active# X1) (active# U42 X -> active# X, active# __(X1, X2) -> active# X2) (active# U42 X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U42 X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U42 X -> active# X, active# U11 X -> active# X) (active# U42 X -> active# X, active# U11 X -> U11# active X) (active# U42 X -> active# X, active# U22 X -> active# X) (active# U42 X -> active# X, active# U22 X -> U22# active X) (active# U42 X -> active# X, active# isList V -> U11# isNeList V) (active# U42 X -> active# X, active# isList V -> isNeList# V) (active# U42 X -> active# X, active# isList __(V1, V2) -> isList# V1) (active# U42 X -> active# X, active# isList __(V1, V2) -> U21#(isList V1, V2)) (active# U42 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U42 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U42 X -> active# X, active# U21(tt(), V2) -> U22# isList V2) (active# U42 X -> active# X, active# U21(tt(), V2) -> isList# V2) (active# U42 X -> active# X, active# U31 X -> active# X) (active# U42 X -> active# X, active# U31 X -> U31# active X) (active# U42 X -> active# X, active# U42 X -> active# X) (active# U42 X -> active# X, active# U42 X -> U42# active X) (active# U42 X -> active# X, active# isNeList V -> U31# isQid V) (active# U42 X -> active# X, active# isNeList V -> isQid# V) (active# U42 X -> active# X, active# isNeList __(V1, V2) -> isList# V1) (active# U42 X -> active# X, active# isNeList __(V1, V2) -> isNeList# V1) (active# U42 X -> active# X, active# isNeList __(V1, V2) -> U41#(isList V1, V2)) (active# U42 X -> active# X, active# isNeList __(V1, V2) -> U51#(isNeList V1, V2)) (active# U42 X -> active# X, active# U41(X1, X2) -> active# X1) (active# U42 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U42 X -> active# X, active# U41(tt(), V2) -> U42# isNeList V2) (active# U42 X -> active# X, active# U41(tt(), V2) -> isNeList# V2) (active# U42 X -> active# X, active# U52 X -> active# X) (active# U42 X -> active# X, active# U52 X -> U52# active X) (active# U42 X -> active# X, active# U51(X1, X2) -> active# X1) (active# U42 X -> active# X, active# U51(X1, X2) -> U51#(active X1, X2)) (active# U42 X -> active# X, active# U51(tt(), V2) -> isList# V2) (active# U42 X -> active# X, active# U51(tt(), V2) -> U52# isList V2) (active# U42 X -> active# X, active# U61 X -> active# X) (active# U42 X -> active# X, active# U61 X -> U61# active X) (active# U42 X -> active# X, active# U72 X -> active# X) (active# U42 X -> active# X, active# U72 X -> U72# active X) (active# U42 X -> active# X, active# isPal V -> U81# isNePal V) (active# U42 X -> active# X, active# isPal V -> isNePal# V) (active# U42 X -> active# X, active# U71(X1, X2) -> active# X1) (active# U42 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U42 X -> active# X, active# U71(tt(), P) -> U72# isPal P) (active# U42 X -> active# X, active# U71(tt(), P) -> isPal# P) (active# U42 X -> active# X, active# U81 X -> active# X) (active# U42 X -> active# X, active# U81 X -> U81# active X) (active# U42 X -> active# X, active# isNePal V -> U61# isQid V) (active# U42 X -> active# X, active# isNePal V -> isQid# V) (active# U42 X -> active# X, active# isNePal __(I, __(P, I)) -> U71#(isQid I, P)) (active# U42 X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U22 X -> active# X, active# __(X1, X2) -> __#(X1, active X2)) (active# U22 X -> active# X, active# __(X1, X2) -> __#(active X1, X2)) (active# U22 X -> active# X, active# __(X1, X2) -> active# X1) (active# U22 X -> active# X, active# __(X1, X2) -> active# X2) (active# U22 X -> active# X, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U22 X -> active# X, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U22 X -> active# X, active# U11 X -> active# X) (active# U22 X -> active# X, active# U11 X -> U11# active X) (active# U22 X -> active# X, active# U22 X -> active# X) (active# U22 X -> active# X, active# U22 X -> U22# active X) (active# U22 X -> active# X, active# isList V -> U11# isNeList V) (active# U22 X -> active# X, active# isList V -> isNeList# V) (active# U22 X -> active# X, active# isList __(V1, V2) -> isList# V1) (active# U22 X -> active# X, active# isList __(V1, V2) -> U21#(isList V1, V2)) (active# U22 X -> active# X, active# U21(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U22 X -> active# X, active# U21(tt(), V2) -> U22# isList V2) (active# U22 X -> active# X, active# U21(tt(), V2) -> isList# V2) (active# U22 X -> active# X, active# U31 X -> active# X) (active# U22 X -> active# X, active# U31 X -> U31# active X) (active# U22 X -> active# X, active# U42 X -> active# X) (active# U22 X -> active# X, active# U42 X -> U42# active X) (active# U22 X -> active# X, active# isNeList V -> U31# isQid V) (active# U22 X -> active# X, active# isNeList V -> isQid# V) (active# U22 X -> active# X, active# isNeList __(V1, V2) -> isList# V1) (active# U22 X -> active# X, active# isNeList __(V1, V2) -> isNeList# V1) (active# U22 X -> active# X, active# isNeList __(V1, V2) -> U41#(isList V1, V2)) (active# U22 X -> active# X, active# isNeList __(V1, V2) -> U51#(isNeList V1, V2)) (active# U22 X -> active# X, active# U41(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U22 X -> active# X, active# U41(tt(), V2) -> U42# isNeList V2) (active# U22 X -> active# X, active# U41(tt(), V2) -> isNeList# V2) (active# U22 X -> active# X, active# U52 X -> active# X) (active# U22 X -> active# X, active# U52 X -> U52# active X) (active# U22 X -> active# X, active# U51(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U51(X1, X2) -> U51#(active X1, X2)) (active# U22 X -> active# X, active# U51(tt(), V2) -> isList# V2) (active# U22 X -> active# X, active# U51(tt(), V2) -> U52# isList V2) (active# U22 X -> active# X, active# U61 X -> active# X) (active# U22 X -> active# X, active# U61 X -> U61# active X) (active# U22 X -> active# X, active# U72 X -> active# X) (active# U22 X -> active# X, active# U72 X -> U72# active X) (active# U22 X -> active# X, active# isPal V -> U81# isNePal V) (active# U22 X -> active# X, active# isPal V -> isNePal# V) (active# U22 X -> active# X, active# U71(X1, X2) -> active# X1) (active# U22 X -> active# X, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U22 X -> active# X, active# U71(tt(), P) -> U72# isPal P) (active# U22 X -> active# X, active# U71(tt(), P) -> isPal# P) (active# U22 X -> active# X, active# U81 X -> active# X) (active# U22 X -> active# X, active# U81 X -> U81# active X) (active# U22 X -> active# X, active# isNePal V -> U61# isQid V) (active# U22 X -> active# X, active# isNePal V -> isQid# V) (active# U22 X -> active# X, active# isNePal __(I, __(P, I)) -> U71#(isQid I, P)) (active# U22 X -> active# X, active# isNePal __(I, __(P, I)) -> isQid# I) (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# U41(X1, X2) -> U41#(active X1, X2), U41#(mark X1, X2) -> U41#(X1, X2)) (active# U41(X1, X2) -> U41#(active X1, X2), U41#(ok X1, ok X2) -> U41#(X1, X2)) (active# __(X1, X2) -> __#(active X1, X2), __#(mark X1, X2) -> __#(X1, X2)) (active# __(X1, X2) -> __#(active X1, X2), __#(ok X1, ok X2) -> __#(X1, X2)) (active# isNePal __(I, __(P, I)) -> U71#(isQid I, P), U71#(mark X1, X2) -> U71#(X1, X2)) (active# isNePal __(I, __(P, I)) -> U71#(isQid I, P), U71#(ok X1, ok X2) -> U71#(X1, X2)) (active# U41(tt(), V2) -> isNeList# V2, isNeList# ok X -> isNeList# X) (proper# U71(X1, X2) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# U11 X -> U11# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U11 X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# isList X -> isList# proper X) (proper# U71(X1, X2) -> proper# X1, proper# isList X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# U31 X -> U31# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U31 X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# U42 X -> U42# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U42 X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# U71(X1, X2) -> proper# X1, proper# isNeList X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# U52 X -> U52# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U52 X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# U61 X -> U61# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U61 X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# U72 X -> U72# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U72 X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# U71(X1, X2) -> proper# X1, proper# isPal X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# U71(X1, X2) -> proper# X1, proper# U81 X -> U81# proper X) (proper# U71(X1, X2) -> proper# X1, proper# U81 X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# U71(X1, X2) -> proper# X1, proper# isQid X -> proper# X) (proper# U71(X1, X2) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# U71(X1, X2) -> proper# X1, proper# isNePal X -> proper# X) (proper# U41(X1, X2) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X1, proper# U11 X -> U11# proper X) (proper# U41(X1, X2) -> proper# X1, proper# U11 X -> proper# X) (proper# U41(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# U41(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# U41(X1, X2) -> proper# X1, proper# isList X -> isList# proper X) (proper# U41(X1, X2) -> proper# X1, proper# isList X -> proper# X) (proper# U41(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X1, proper# U31 X -> U31# proper X) (proper# U41(X1, X2) -> proper# X1, proper# U31 X -> proper# X) (proper# U41(X1, X2) -> proper# X1, proper# U42 X -> U42# proper X) (proper# U41(X1, X2) -> proper# X1, proper# U42 X -> proper# X) (proper# U41(X1, X2) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# U41(X1, X2) -> proper# X1, proper# isNeList X -> proper# X) (proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X1, proper# U52 X -> U52# proper X) (proper# U41(X1, X2) -> proper# X1, proper# U52 X -> proper# X) (proper# U41(X1, X2) -> proper# X1, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X1, proper# U61 X -> U61# proper X) (proper# U41(X1, X2) -> proper# X1, proper# U61 X -> proper# X) (proper# U41(X1, X2) -> proper# X1, proper# U72 X -> U72# proper X) (proper# U41(X1, X2) -> proper# X1, proper# U72 X -> proper# X) (proper# U41(X1, X2) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# U41(X1, X2) -> proper# X1, proper# isPal X -> proper# X) (proper# U41(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# U41(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# U41(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# U41(X1, X2) -> proper# X1, proper# U81 X -> U81# proper X) (proper# U41(X1, X2) -> proper# X1, proper# U81 X -> proper# X) (proper# U41(X1, X2) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# U41(X1, X2) -> proper# X1, proper# isQid X -> proper# X) (proper# U41(X1, X2) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# U41(X1, X2) -> proper# X1, proper# isNePal X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> __#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# U11 X -> U11# proper X) (proper# __(X1, X2) -> proper# X1, proper# U11 X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# U22 X -> U22# proper X) (proper# __(X1, X2) -> proper# X1, proper# U22 X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# isList X -> isList# proper X) (proper# __(X1, X2) -> proper# X1, proper# isList X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# U21(X1, X2) -> U21#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# U31 X -> U31# proper X) (proper# __(X1, X2) -> proper# X1, proper# U31 X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# U42 X -> U42# proper X) (proper# __(X1, X2) -> proper# X1, proper# U42 X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# isNeList X -> isNeList# proper X) (proper# __(X1, X2) -> proper# X1, proper# isNeList X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# U41(X1, X2) -> U41#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# U52 X -> U52# proper X) (proper# __(X1, X2) -> proper# X1, proper# U52 X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# U51(X1, X2) -> U51#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# U61 X -> U61# proper X) (proper# __(X1, X2) -> proper# X1, proper# U61 X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# U72 X -> U72# proper X) (proper# __(X1, X2) -> proper# X1, proper# U72 X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# isPal X -> isPal# proper X) (proper# __(X1, X2) -> proper# X1, proper# isPal X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# U71(X1, X2) -> U71#(proper X1, proper X2)) (proper# __(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X1) (proper# __(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2) (proper# __(X1, X2) -> proper# X1, proper# U81 X -> U81# proper X) (proper# __(X1, X2) -> proper# X1, proper# U81 X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# isQid X -> isQid# proper X) (proper# __(X1, X2) -> proper# X1, proper# isQid X -> proper# X) (proper# __(X1, X2) -> proper# X1, proper# isNePal X -> isNePal# proper X) (proper# __(X1, X2) -> proper# X1, proper# isNePal X -> proper# X) (active# U51(X1, X2) -> active# X1, active# __(X1, X2) -> __#(X1, active X2)) (active# U51(X1, X2) -> active# X1, active# __(X1, X2) -> __#(active X1, X2)) (active# U51(X1, X2) -> active# X1, active# __(X1, X2) -> active# X1) (active# U51(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2) (active# U51(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U51(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U51(X1, X2) -> active# X1, active# U11 X -> active# X) (active# U51(X1, X2) -> active# X1, active# U11 X -> U11# active X) (active# U51(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U51(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U51(X1, X2) -> active# X1, active# isList V -> U11# isNeList V) (active# U51(X1, X2) -> active# X1, active# isList V -> isNeList# V) (active# U51(X1, X2) -> active# X1, active# isList __(V1, V2) -> isList# V1) (active# U51(X1, X2) -> active# X1, active# isList __(V1, V2) -> U21#(isList V1, V2)) (active# U51(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U51(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U51(X1, X2) -> active# X1, active# U21(tt(), V2) -> U22# isList V2) (active# U51(X1, X2) -> active# X1, active# U21(tt(), V2) -> isList# V2) (active# U51(X1, X2) -> active# X1, active# U31 X -> active# X) (active# U51(X1, X2) -> active# X1, active# U31 X -> U31# active X) (active# U51(X1, X2) -> active# X1, active# U42 X -> active# X) (active# U51(X1, X2) -> active# X1, active# U42 X -> U42# active X) (active# U51(X1, X2) -> active# X1, active# isNeList V -> U31# isQid V) (active# U51(X1, X2) -> active# X1, active# isNeList V -> isQid# V) (active# U51(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isList# V1) (active# U51(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isNeList# V1) (active# U51(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U41#(isList V1, V2)) (active# U51(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U51#(isNeList V1, V2)) (active# U51(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1) (active# U51(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U51(X1, X2) -> active# X1, active# U41(tt(), V2) -> U42# isNeList V2) (active# U51(X1, X2) -> active# X1, active# U41(tt(), V2) -> isNeList# V2) (active# U51(X1, X2) -> active# X1, active# U52 X -> active# X) (active# U51(X1, X2) -> active# X1, active# U52 X -> U52# active X) (active# U51(X1, X2) -> active# X1, active# U51(X1, X2) -> active# X1) (active# U51(X1, X2) -> active# X1, active# U51(X1, X2) -> U51#(active X1, X2)) (active# U51(X1, X2) -> active# X1, active# U51(tt(), V2) -> isList# V2) (active# U51(X1, X2) -> active# X1, active# U51(tt(), V2) -> U52# isList V2) (active# U51(X1, X2) -> active# X1, active# U61 X -> active# X) (active# U51(X1, X2) -> active# X1, active# U61 X -> U61# active X) (active# U51(X1, X2) -> active# X1, active# U72 X -> active# X) (active# U51(X1, X2) -> active# X1, active# U72 X -> U72# active X) (active# U51(X1, X2) -> active# X1, active# isPal V -> U81# isNePal V) (active# U51(X1, X2) -> active# X1, active# isPal V -> isNePal# V) (active# U51(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1) (active# U51(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U51(X1, X2) -> active# X1, active# U71(tt(), P) -> U72# isPal P) (active# U51(X1, X2) -> active# X1, active# U71(tt(), P) -> isPal# P) (active# U51(X1, X2) -> active# X1, active# U81 X -> active# X) (active# U51(X1, X2) -> active# X1, active# U81 X -> U81# active X) (active# U51(X1, X2) -> active# X1, active# isNePal V -> U61# isQid V) (active# U51(X1, X2) -> active# X1, active# isNePal V -> isQid# V) (active# U51(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> U71#(isQid I, P)) (active# U51(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# U21(X1, X2) -> active# X1, active# __(X1, X2) -> __#(X1, active X2)) (active# U21(X1, X2) -> active# X1, active# __(X1, X2) -> __#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# __(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2) (active# U21(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(X, __(Y, Z))) (active# U21(X1, X2) -> active# X1, active# __(__(X, Y), Z) -> __#(Y, Z)) (active# U21(X1, X2) -> active# X1, active# U11 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U11 X -> U11# active X) (active# U21(X1, X2) -> active# X1, active# U22 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U22 X -> U22# active X) (active# U21(X1, X2) -> active# X1, active# isList V -> U11# isNeList V) (active# U21(X1, X2) -> active# X1, active# isList V -> isNeList# V) (active# U21(X1, X2) -> active# X1, active# isList __(V1, V2) -> isList# V1) (active# U21(X1, X2) -> active# X1, active# isList __(V1, V2) -> U21#(isList V1, V2)) (active# U21(X1, X2) -> active# X1, active# U21(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U21(X1, X2) -> U21#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U21(tt(), V2) -> U22# isList V2) (active# U21(X1, X2) -> active# X1, active# U21(tt(), V2) -> isList# V2) (active# U21(X1, X2) -> active# X1, active# U31 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U31 X -> U31# active X) (active# U21(X1, X2) -> active# X1, active# U42 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U42 X -> U42# active X) (active# U21(X1, X2) -> active# X1, active# isNeList V -> U31# isQid V) (active# U21(X1, X2) -> active# X1, active# isNeList V -> isQid# V) (active# U21(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isList# V1) (active# U21(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> isNeList# V1) (active# U21(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U41#(isList V1, V2)) (active# U21(X1, X2) -> active# X1, active# isNeList __(V1, V2) -> U51#(isNeList V1, V2)) (active# U21(X1, X2) -> active# X1, active# U41(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U41(X1, X2) -> U41#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U41(tt(), V2) -> U42# isNeList V2) (active# U21(X1, X2) -> active# X1, active# U41(tt(), V2) -> isNeList# V2) (active# U21(X1, X2) -> active# X1, active# U52 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U52 X -> U52# active X) (active# U21(X1, X2) -> active# X1, active# U51(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U51(X1, X2) -> U51#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U51(tt(), V2) -> isList# V2) (active# U21(X1, X2) -> active# X1, active# U51(tt(), V2) -> U52# isList V2) (active# U21(X1, X2) -> active# X1, active# U61 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U61 X -> U61# active X) (active# U21(X1, X2) -> active# X1, active# U72 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U72 X -> U72# active X) (active# U21(X1, X2) -> active# X1, active# isPal V -> U81# isNePal V) (active# U21(X1, X2) -> active# X1, active# isPal V -> isNePal# V) (active# U21(X1, X2) -> active# X1, active# U71(X1, X2) -> active# X1) (active# U21(X1, X2) -> active# X1, active# U71(X1, X2) -> U71#(active X1, X2)) (active# U21(X1, X2) -> active# X1, active# U71(tt(), P) -> U72# isPal P) (active# U21(X1, X2) -> active# X1, active# U71(tt(), P) -> isPal# P) (active# U21(X1, X2) -> active# X1, active# U81 X -> active# X) (active# U21(X1, X2) -> active# X1, active# U81 X -> U81# active X) (active# U21(X1, X2) -> active# X1, active# isNePal V -> U61# isQid V) (active# U21(X1, X2) -> active# X1, active# isNePal V -> isQid# V) (active# U21(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> U71#(isQid I, P)) (active# U21(X1, X2) -> active# X1, active# isNePal __(I, __(P, I)) -> isQid# I) (active# __(__(X, Y), Z) -> __#(Y, Z), __#(ok X1, ok X2) -> __#(X1, X2)) } STATUS: arrows: 0.885846 SCCS (21): Scc: {top# mark X -> top# proper X, top# ok X -> top# active X} Scc: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2, proper# U61 X -> proper# X, proper# U72 X -> proper# X, proper# isPal X -> proper# X, proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2, proper# U81 X -> proper# X, proper# isQid X -> proper# X, proper# isNePal X -> proper# X} Scc: {isNePal# ok X -> isNePal# X} Scc: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X, active# U42 X -> active# X, active# U41(X1, X2) -> active# X1, active# U52 X -> active# X, active# U51(X1, X2) -> active# X1, active# U61 X -> active# X, active# U72 X -> active# X, active# U71(X1, X2) -> active# X1, active# U81 X -> active# X} Scc: {isQid# ok X -> isQid# X} Scc: {isPal# ok X -> isPal# X} Scc: { U71#(mark X1, X2) -> U71#(X1, X2), U71#(ok X1, ok X2) -> U71#(X1, X2)} Scc: {U81# mark X -> U81# X, U81# ok X -> U81# X} Scc: {U72# mark X -> U72# X, U72# ok X -> U72# X} Scc: {U61# mark X -> U61# X, U61# ok X -> U61# X} Scc: {U52# mark X -> U52# X, U52# ok X -> U52# X} Scc: { U51#(mark X1, X2) -> U51#(X1, X2), U51#(ok X1, ok X2) -> U51#(X1, X2)} Scc: { U41#(mark X1, X2) -> U41#(X1, X2), U41#(ok X1, ok X2) -> U41#(X1, X2)} Scc: {isNeList# ok X -> isNeList# X} Scc: {U42# mark X -> U42# X, U42# ok X -> U42# X} Scc: {U31# mark X -> U31# X, U31# ok X -> U31# X} Scc: { U21#(mark X1, X2) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(X1, X2)} Scc: {isList# ok X -> isList# X} Scc: {U22# mark X -> U22# X, U22# ok X -> U22# X} Scc: {U11# mark X -> U11# X, U11# ok X -> U11# X} Scc: { __#(X1, mark X2) -> __#(X1, X2), __#(mark X1, X2) -> __#(X1, X2), __#(ok X1, ok X2) -> __#(X1, X2)} 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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 (23): Strict: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2, proper# U61 X -> proper# X, proper# U72 X -> proper# X, proper# isPal X -> proper# X, proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2, proper# U81 X -> proper# X, proper# isQid X -> proper# X, proper# isNePal 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + x1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = x0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = x0, [U52](x0) = x0, [U61](x0) = x0, [U72](x0) = x0, [isPal](x0) = x0, [U81](x0) = x0, [isQid](x0) = x0, [isNePal](x0) = x0 + 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 0, [e] = 0, [i] = 0, [o] = 0, [u] = 0, [proper#](x0) = x0 Strict: proper# isNePal X -> proper# X 1 + 1X >= 0 + 1X proper# isQid X -> proper# X 0 + 1X >= 0 + 1X proper# U81 X -> proper# X 0 + 1X >= 0 + 1X proper# U71(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U71(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isPal X -> proper# X 0 + 1X >= 0 + 1X proper# U72 X -> proper# X 0 + 1X >= 0 + 1X proper# U61 X -> proper# X 0 + 1X >= 0 + 1X proper# U51(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U51(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# U52 X -> proper# X 0 + 1X >= 0 + 1X proper# U41(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U41(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isNeList X -> proper# X 0 + 1X >= 0 + 1X proper# U42 X -> proper# X 0 + 1X >= 0 + 1X proper# U31 X -> proper# X 0 + 1X >= 0 + 1X proper# U21(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U21(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isList X -> proper# X 0 + 1X >= 0 + 1X proper# U22 X -> proper# X 0 + 1X >= 0 + 1X proper# U11 X -> proper# X 0 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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() 0 >= 1 proper o() -> ok o() 0 >= 1 proper i() -> ok i() 0 >= 1 proper e() -> ok e() 0 >= 1 proper a() -> ok a() 0 >= 1 proper isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 0 + 0X proper U81 X -> U81 proper X 0 + 0X >= 0 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 2 + 1X >= 2 + 1X isQid ok X -> ok isQid X 1 + 1X >= 1 + 1X U81 ok X -> ok U81 X 1 + 1X >= 1 + 1X U81 mark X -> mark U81 X 0 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 1X >= 1 + 1X U72 ok X -> ok U72 X 1 + 1X >= 1 + 1X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 1 + 1X >= 1 + 1X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 1 + 1X >= 1 + 1X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 1X >= 1 + 1X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 1 + 1X >= 1 + 1X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 0 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2, proper# U61 X -> proper# X, proper# U72 X -> proper# X, proper# isPal X -> proper# X, proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2, proper# U81 X -> proper# X, proper# isQid X -> proper# X} SCC (22): Strict: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2, proper# U61 X -> proper# X, proper# U72 X -> proper# X, proper# isPal X -> proper# X, proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2, proper# U81 X -> proper# X, proper# isQid 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + x1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = x0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = x0, [U52](x0) = x0, [U61](x0) = x0, [U72](x0) = x0, [isPal](x0) = x0, [U81](x0) = x0, [isQid](x0) = x0 + 1, [isNePal](x0) = 0, [proper](x0) = 0, [ok](x0) = 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [proper#](x0) = x0 Strict: proper# isQid X -> proper# X 1 + 1X >= 0 + 1X proper# U81 X -> proper# X 0 + 1X >= 0 + 1X proper# U71(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U71(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isPal X -> proper# X 0 + 1X >= 0 + 1X proper# U72 X -> proper# X 0 + 1X >= 0 + 1X proper# U61 X -> proper# X 0 + 1X >= 0 + 1X proper# U51(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U51(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# U52 X -> proper# X 0 + 1X >= 0 + 1X proper# U41(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U41(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isNeList X -> proper# X 0 + 1X >= 0 + 1X proper# U42 X -> proper# X 0 + 1X >= 0 + 1X proper# U31 X -> proper# X 0 + 1X >= 0 + 1X proper# U21(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U21(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isList X -> proper# X 0 + 1X >= 0 + 1X proper# U22 X -> proper# X 0 + 1X >= 0 + 1X proper# U11 X -> proper# X 0 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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() 0 >= 1 proper o() -> ok o() 0 >= 1 proper i() -> ok i() 0 >= 1 proper e() -> ok e() 0 >= 1 proper a() -> ok a() 0 >= 1 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U81 X -> U81 proper X 0 + 0X >= 0 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X isQid ok X -> ok isQid X 2 + 0X >= 1 + 0X U81 ok X -> ok U81 X 1 + 0X >= 1 + 0X U81 mark X -> mark U81 X 0 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 0X >= 1 + 0X U72 ok X -> ok U72 X 1 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 1 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 1 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 1 + 0X U42 ok X -> ok U42 X 1 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 1 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 1 + 0X U22 ok X -> ok U22 X 1 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 0 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 0X1 + 0X2 >= 1 + 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: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2, proper# U61 X -> proper# X, proper# U72 X -> proper# X, proper# isPal X -> proper# X, proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2, proper# U81 X -> proper# X} SCC (21): Strict: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2, proper# U61 X -> proper# X, proper# U72 X -> proper# X, proper# isPal X -> proper# X, proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2, proper# U81 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + x1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = x0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = x0, [U52](x0) = x0, [U61](x0) = x0, [U72](x0) = x0, [isPal](x0) = x0, [U81](x0) = x0 + 1, [isQid](x0) = 0, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 0, [o] = 1, [u] = 1, [proper#](x0) = x0 Strict: proper# U81 X -> proper# X 1 + 1X >= 0 + 1X proper# U71(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U71(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isPal X -> proper# X 0 + 1X >= 0 + 1X proper# U72 X -> proper# X 0 + 1X >= 0 + 1X proper# U61 X -> proper# X 0 + 1X >= 0 + 1X proper# U51(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U51(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# U52 X -> proper# X 0 + 1X >= 0 + 1X proper# U41(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U41(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isNeList X -> proper# X 0 + 1X >= 0 + 1X proper# U42 X -> proper# X 0 + 1X >= 0 + 1X proper# U31 X -> proper# X 0 + 1X >= 0 + 1X proper# U21(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U21(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isList X -> proper# X 0 + 1X >= 0 + 1X proper# U22 X -> proper# X 0 + 1X >= 0 + 1X proper# U11 X -> proper# X 0 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 1 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 0 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 1X >= 1 + 1X U72 ok X -> ok U72 X 1 + 1X >= 1 + 1X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 1 + 1X >= 1 + 1X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 1 + 1X >= 1 + 1X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 1X >= 1 + 1X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 1 + 1X >= 1 + 1X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2, proper# U61 X -> proper# X, proper# U72 X -> proper# X, proper# isPal X -> proper# X, proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# X2} SCC (20): Strict: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2, proper# U61 X -> proper# X, proper# U72 X -> proper# X, proper# isPal X -> proper# X, proper# U71(X1, X2) -> proper# X1, proper# U71(X1, X2) -> proper# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + x1 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = x0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = x0, [U52](x0) = x0, [U61](x0) = x0, [U72](x0) = x0, [isPal](x0) = x0, [U81](x0) = x0 + 1, [isQid](x0) = x0, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 0, [i] = 0, [o] = 0, [u] = 0, [proper#](x0) = x0 Strict: proper# U71(X1, X2) -> proper# X2 1 + 1X1 + 1X2 >= 0 + 1X2 proper# U71(X1, X2) -> proper# X1 1 + 1X1 + 1X2 >= 0 + 1X1 proper# isPal X -> proper# X 0 + 1X >= 0 + 1X proper# U72 X -> proper# X 0 + 1X >= 0 + 1X proper# U61 X -> proper# X 0 + 1X >= 0 + 1X proper# U51(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U51(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# U52 X -> proper# X 0 + 1X >= 0 + 1X proper# U41(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U41(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isNeList X -> proper# X 0 + 1X >= 0 + 1X proper# U42 X -> proper# X 0 + 1X >= 0 + 1X proper# U31 X -> proper# X 0 + 1X >= 0 + 1X proper# U21(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U21(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isList X -> proper# X 0 + 1X >= 0 + 1X proper# U22 X -> proper# X 0 + 1X >= 0 + 1X proper# U11 X -> proper# X 0 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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() 0 >= 1 proper o() -> ok o() 0 >= 1 proper i() -> ok i() 0 >= 1 proper e() -> ok e() 0 >= 1 proper a() -> ok a() 0 >= 2 proper isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 0 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 1 + 1X >= 1 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal X 1 + 1X >= 1 + 1X U72 ok X -> ok U72 X 1 + 1X >= 1 + 1X U72 mark X -> mark U72 X 1 + 1X >= 1 + 1X U61 ok X -> ok U61 X 1 + 1X >= 1 + 1X U61 mark X -> mark U61 X 1 + 1X >= 1 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U52 ok X -> ok U52 X 1 + 1X >= 1 + 1X U52 mark X -> mark U52 X 1 + 1X >= 1 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 isNeList ok X -> ok isNeList X 1 + 1X >= 1 + 1X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 1 + 1X >= 1 + 1X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 1 + 1X >= 1 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 isList ok X -> ok isList X 1 + 1X >= 1 + 1X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 1 + 1X >= 1 + 1X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 1 + 1X >= 1 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 2 + 1P + 1I active isNePal V -> mark U61 isQid V 0 + 0V >= 1 + 1V 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 U81 tt() -> mark tt() 0 >= 1 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 1 + 1P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U81 isNePal V 0 + 0V >= 3 + 0V active U72 tt() -> mark tt() 0 >= 1 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 1 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 1 + 1V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 1 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 1 + 1V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 1 + 1V2 + 1V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 1 + 1V2 + 1V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 1 + 1V active U42 tt() -> mark tt() 0 >= 1 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 1 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 1 + 1V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 1 + 1V2 + 1V1 active isList V -> mark U11 isNeList V 0 + 0V >= 1 + 1V active U22 tt() -> mark tt() 0 >= 1 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 1 active U11 X -> U11 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 >= 1 + 1X + 1Y + 1Z 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 >= 1 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 SCCS (1): Scc: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2, proper# U61 X -> proper# X, proper# U72 X -> proper# X, proper# isPal X -> proper# X} SCC (18): Strict: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2, proper# U61 X -> proper# X, proper# U72 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = 0, [mark](x0) = 1, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = x0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = x0, [U52](x0) = x0, [U61](x0) = x0, [U72](x0) = x0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = 0, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [proper#](x0) = x0 Strict: proper# isPal X -> proper# X 1 + 1X >= 0 + 1X proper# U72 X -> proper# X 0 + 1X >= 0 + 1X proper# U61 X -> proper# X 0 + 1X >= 0 + 1X proper# U51(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U51(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# U52 X -> proper# X 0 + 1X >= 0 + 1X proper# U41(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U41(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isNeList X -> proper# X 0 + 1X >= 0 + 1X proper# U42 X -> proper# X 0 + 1X >= 0 + 1X proper# U31 X -> proper# X 0 + 1X >= 0 + 1X proper# U21(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U21(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isList X -> proper# X 0 + 1X >= 0 + 1X proper# U22 X -> proper# X 0 + 1X >= 0 + 1X proper# U11 X -> proper# X 0 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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() 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 0 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 2 + 0X >= 1 + 0X 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 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 1 + 1X >= 1 + 1X U72 mark X -> mark U72 X 1 + 0X >= 1 + 0X U61 ok X -> ok U61 X 1 + 1X >= 1 + 1X U61 mark X -> mark U61 X 1 + 0X >= 1 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 U52 ok X -> ok U52 X 1 + 1X >= 1 + 1X U52 mark X -> mark U52 X 1 + 0X >= 1 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 1X >= 1 + 1X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 1 + 0X >= 1 + 0X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 1 + 0X >= 1 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 isList ok X -> ok isList X 1 + 1X >= 1 + 1X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 1 + 0X >= 1 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 1 + 0X >= 1 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 1 + 0V 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 U81 tt() -> mark tt() 0 >= 1 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 1 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 1 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 1 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 1 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 1 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 1 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 1 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 1 + 0V active U42 tt() -> mark tt() 0 >= 1 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 1 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 1 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 1 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 1 + 0V active U22 tt() -> mark tt() 0 >= 1 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 1 active U11 X -> U11 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 0X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 1 + 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 >= 1 + 0X __(ok X1, ok X2) -> ok __(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 __(X1, mark X2) -> mark __(X1, X2) 1 + 1X1 + 0X2 >= 1 + 0X1 + 0X2 SCCS (1): Scc: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2, proper# U61 X -> proper# X, proper# U72 X -> proper# X} SCC (17): Strict: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2, proper# U61 X -> proper# X, proper# U72 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + x1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = x0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = x0, [U52](x0) = x0, [U61](x0) = x0, [U72](x0) = x0 + 1, [isPal](x0) = 0, [U81](x0) = 0, [isQid](x0) = 0, [isNePal](x0) = 0, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 0, [o] = 1, [u] = 1, [proper#](x0) = x0 Strict: proper# U72 X -> proper# X 1 + 1X >= 0 + 1X proper# U61 X -> proper# X 0 + 1X >= 0 + 1X proper# U51(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U51(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# U52 X -> proper# X 0 + 1X >= 0 + 1X proper# U41(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U41(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isNeList X -> proper# X 0 + 1X >= 0 + 1X proper# U42 X -> proper# X 0 + 1X >= 0 + 1X proper# U31 X -> proper# X 0 + 1X >= 0 + 1X proper# U21(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U21(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isList X -> proper# X 0 + 1X >= 0 + 1X proper# U22 X -> proper# X 0 + 1X >= 0 + 1X proper# U11 X -> proper# X 0 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 1 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isNePal X -> isNePal proper X 0 + 0X >= 0 + 0X proper isQid X -> isQid proper X 0 + 0X >= 0 + 0X proper U81 X -> U81 proper X 0 + 0X >= 0 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 1 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 0 + 0X >= 1 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 0 + 0X >= 1 + 0X U81 mark X -> mark U81 X 0 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 2 + 1X >= 2 + 1X U72 mark X -> mark U72 X 1 + 0X >= 0 + 0X U61 ok X -> ok U61 X 1 + 1X >= 1 + 1X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 1 + 1X >= 1 + 1X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 1X >= 1 + 1X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 1 + 1X >= 1 + 1X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 0 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal V 0 + 0V >= 0 + 0V active U72 tt() -> mark tt() 0 >= 0 active U72 X -> U72 active X 0 + 0X >= 1 + 0X active U61 tt() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2, proper# U61 X -> proper# X} SCC (16): Strict: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2, proper# U61 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + x1, [mark](x0) = 1, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = x0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = x0, [U52](x0) = x0, [U61](x0) = x0 + 1, [U72](x0) = 0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = 0, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [proper#](x0) = x0 Strict: proper# U61 X -> proper# X 1 + 1X >= 0 + 1X proper# U51(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U51(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# U52 X -> proper# X 0 + 1X >= 0 + 1X proper# U41(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U41(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isNeList X -> proper# X 0 + 1X >= 0 + 1X proper# U42 X -> proper# X 0 + 1X >= 0 + 1X proper# U31 X -> proper# X 0 + 1X >= 0 + 1X proper# U21(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U21(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isList X -> proper# X 0 + 1X >= 0 + 1X proper# U22 X -> proper# X 0 + 1X >= 0 + 1X proper# U11 X -> proper# X 0 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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() 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 0 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 2 + 0X >= 1 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal 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 X -> ok U61 X 2 + 1X >= 2 + 1X U61 mark X -> mark U61 X 2 + 0X >= 1 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 U52 ok X -> ok U52 X 1 + 1X >= 1 + 1X U52 mark X -> mark U52 X 1 + 0X >= 1 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 1X >= 1 + 1X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 1 + 0X >= 1 + 0X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 1 + 0X >= 1 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 isList ok X -> ok isList X 1 + 1X >= 1 + 1X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 1 + 0X >= 1 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 1 + 0X >= 1 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 1 + 0V 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 U81 tt() -> mark tt() 0 >= 1 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 1 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 1 active U61 X -> U61 active X 0 + 0X >= 1 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 1 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 1 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 1 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 1 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 1 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 1 + 0V active U42 tt() -> mark tt() 0 >= 1 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 1 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 1 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 1 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 1 + 0V active U22 tt() -> mark tt() 0 >= 1 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 1 active U11 X -> U11 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 0X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 1 + 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 >= 1 + 0X __(ok X1, ok X2) -> ok __(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 __(X1, mark X2) -> mark __(X1, X2) 1 + 1X1 + 0X2 >= 1 + 0X1 + 0X2 SCCS (1): Scc: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# X2} SCC (15): Strict: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X, proper# U51(X1, X2) -> proper# X1, proper# U51(X1, X2) -> proper# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1 + 1, [U71](x0, x1) = x0 + x1, [mark](x0) = 1, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = x0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = x0, [U52](x0) = x0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = 0, [isNePal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [proper#](x0) = x0 Strict: proper# U51(X1, X2) -> proper# X2 1 + 1X1 + 1X2 >= 0 + 1X2 proper# U51(X1, X2) -> proper# X1 1 + 1X1 + 1X2 >= 0 + 1X1 proper# U52 X -> proper# X 0 + 1X >= 0 + 1X proper# U41(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U41(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isNeList X -> proper# X 0 + 1X >= 0 + 1X proper# U42 X -> proper# X 0 + 1X >= 0 + 1X proper# U31 X -> proper# X 0 + 1X >= 0 + 1X proper# U21(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U21(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isList X -> proper# X 0 + 1X >= 0 + 1X proper# U22 X -> proper# X 0 + 1X >= 0 + 1X proper# U11 X -> proper# X 0 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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 >= 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 isNePal X -> isNePal proper X 2 + 0X >= 1 + 0X proper isQid X -> isQid proper X 1 + 0X >= 0 + 0X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper isPal X -> isPal proper X 2 + 1X >= 2 + 1X proper U72 X -> U72 proper X 1 + 0X >= 0 + 0X proper U61 X -> U61 proper X 1 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 proper U52 X -> U52 proper X 1 + 1X >= 1 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper isNeList X -> isNeList proper X 1 + 1X >= 1 + 1X proper U42 X -> U42 proper X 1 + 1X >= 1 + 1X proper U31 X -> U31 proper X 1 + 1X >= 1 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper isList X -> isList proper X 1 + 1X >= 1 + 1X proper U22 X -> U22 proper X 1 + 1X >= 1 + 1X proper U11 X -> U11 proper X 1 + 1X >= 1 + 1X proper tt() -> ok tt() 1 >= 1 proper nil() -> ok nil() 1 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 2 + 0X >= 1 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 1 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 U52 ok X -> ok U52 X 1 + 1X >= 1 + 1X U52 mark X -> mark U52 X 1 + 0X >= 1 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 1X >= 1 + 1X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 1 + 0X >= 1 + 0X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 1 + 0X >= 1 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 isList ok X -> ok isList X 1 + 1X >= 1 + 1X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 1 + 0X >= 1 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 1 + 0X >= 1 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 1 + 0V 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 U81 tt() -> mark tt() 0 >= 1 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 1 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 1 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 1 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 1 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 1 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 1 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 1 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 1 + 0V active U42 tt() -> mark tt() 0 >= 1 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 1 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 1 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 1 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 1 + 0V active U22 tt() -> mark tt() 0 >= 1 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 1 active U11 X -> U11 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 0X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 1 + 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 >= 1 + 0X __(ok X1, ok X2) -> ok __(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 __(X1, mark X2) -> mark __(X1, X2) 1 + 1X1 + 0X2 >= 1 + 0X1 + 0X2 SCCS (1): Scc: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 X -> proper# X} SCC (13): Strict: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2, proper# U52 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [mark](x0) = x0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = x0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = x0, [U52](x0) = x0 + 1, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = 0, [isNePal](x0) = 1, [proper](x0) = x0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 0, [e] = 0, [i] = 1, [o] = 0, [u] = 0, [proper#](x0) = x0 Strict: proper# U52 X -> proper# X 1 + 1X >= 0 + 1X proper# U41(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U41(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isNeList X -> proper# X 0 + 1X >= 0 + 1X proper# U42 X -> proper# X 0 + 1X >= 0 + 1X proper# U31 X -> proper# X 0 + 1X >= 0 + 1X proper# U21(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U21(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isList X -> proper# X 0 + 1X >= 0 + 1X proper# U22 X -> proper# X 0 + 1X >= 0 + 1X proper# U11 X -> proper# X 0 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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() 0 >= 1 proper o() -> ok o() 0 >= 1 proper i() -> ok i() 1 >= 2 proper e() -> ok e() 0 >= 1 proper a() -> ok a() 0 >= 1 proper isNePal X -> isNePal proper X 1 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 0 + 0X proper U81 X -> U81 proper X 1 + 1X >= 1 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 1 + 1X >= 1 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 1X1 + 1X2 >= 0 + 1X1 + 1X2 proper isNeList X -> isNeList proper X 0 + 1X >= 0 + 1X proper U42 X -> U42 proper X 0 + 1X >= 0 + 1X proper U31 X -> U31 proper X 0 + 1X >= 0 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 1X1 + 1X2 >= 0 + 1X1 + 1X2 proper isList X -> isList proper X 0 + 1X >= 0 + 1X proper U22 X -> U22 proper X 0 + 1X >= 0 + 1X proper U11 X -> U11 proper X 0 + 1X >= 0 + 1X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 1X1 + 1X2 >= 0 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 1X >= 1 + 1X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 2 + 1X >= 2 + 1X U52 mark X -> mark U52 X 1 + 1X >= 1 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 1X1 + 1X2 >= 0 + 1X1 + 1X2 isNeList ok X -> ok isNeList X 1 + 1X >= 1 + 1X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 0 + 1X >= 0 + 1X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 0 + 1X >= 0 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 1X1 + 1X2 >= 0 + 1X1 + 1X2 isList ok X -> ok isList X 1 + 1X >= 1 + 1X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 1X >= 0 + 1X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 1X >= 0 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal V 0 + 0V >= 2 + 0V active U72 tt() -> mark tt() 0 >= 0 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 1 + 1V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 1 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 1V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 1V2 + 1V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 1V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 1V2 + 1V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 1V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 0 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 0 + 1X + 1Y + 1Z 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 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 0 + 1X1 + 1X2 >= 0 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 0 + 1X1 + 1X2 >= 0 + 1X1 + 1X2 SCCS (1): Scc: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# X2} SCC (12): Strict: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X, proper# U41(X1, X2) -> proper# X1, proper# U41(X1, X2) -> proper# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1 + 1, [U51](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [mark](x0) = x0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = x0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = x0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = x0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = 0, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 0, [u] = 1, [proper#](x0) = x0 Strict: proper# U41(X1, X2) -> proper# X2 1 + 1X1 + 1X2 >= 0 + 1X2 proper# U41(X1, X2) -> proper# X1 1 + 1X1 + 1X2 >= 0 + 1X1 proper# isNeList X -> proper# X 0 + 1X >= 0 + 1X proper# U42 X -> proper# X 0 + 1X >= 0 + 1X proper# U31 X -> proper# X 0 + 1X >= 0 + 1X proper# U21(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U21(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isList X -> proper# X 0 + 1X >= 0 + 1X proper# U22 X -> proper# X 0 + 1X >= 0 + 1X proper# U11 X -> proper# X 0 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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() 0 >= 2 proper o() -> ok o() 0 >= 1 proper i() -> ok i() 0 >= 2 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 0 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 1X >= 1 + 1X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 1 + 1X >= 1 + 1X U72 mark X -> mark U72 X 0 + 1X >= 0 + 1X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 isNeList ok X -> ok isNeList X 1 + 1X >= 1 + 1X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 0 + 1X >= 0 + 1X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 0 + 1X >= 0 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 1X1 + 1X2 >= 0 + 1X1 + 1X2 isList ok X -> ok isList X 1 + 1X >= 1 + 1X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 1X >= 0 + 1X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 1X >= 0 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal V 0 + 0V >= 2 + 0V active U72 tt() -> mark tt() 0 >= 0 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 1V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 1 + 1V2 + 1V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 1V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 1V2 + 1V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 1V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 0 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 0 + 1X + 1Y + 1Z 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 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 0 + 1X1 + 1X2 >= 0 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 0 + 1X1 + 1X2 >= 0 + 1X1 + 1X2 SCCS (1): Scc: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList X -> proper# X} SCC (10): Strict: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X, proper# isNeList 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = 0, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = x0 + x1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = x0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = x0 + 1, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = 0, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 0, [o] = 1, [u] = 1, [proper#](x0) = x0 Strict: proper# isNeList X -> proper# X 1 + 1X >= 0 + 1X proper# U42 X -> proper# X 0 + 1X >= 0 + 1X proper# U31 X -> proper# X 0 + 1X >= 0 + 1X proper# U21(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U21(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isList X -> proper# X 0 + 1X >= 0 + 1X proper# U22 X -> proper# X 0 + 1X >= 0 + 1X proper# U11 X -> proper# X 0 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 1 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 0 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 1 + 1X >= 1 + 1X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 X -> proper# X} SCC (9): Strict: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X, proper# U42 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = 0, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + 1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = x0, [U31](x0) = x0, [U42](x0) = x0 + 1, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = 0, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [proper#](x0) = x0 Strict: proper# U42 X -> proper# X 1 + 1X >= 0 + 1X proper# U31 X -> proper# X 0 + 1X >= 0 + 1X proper# U21(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U21(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isList X -> proper# X 0 + 1X >= 0 + 1X proper# U22 X -> proper# X 0 + 1X >= 0 + 1X proper# U11 X -> proper# X 0 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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() 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 0 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 1 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 2 + 1X >= 2 + 1X U42 mark X -> mark U42 X 1 + 0X >= 0 + 0X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 1 + 1X >= 1 + 1X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 1 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 X -> proper# X} SCC (8): Strict: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2, proper# U31 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = 0, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + 1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = x0, [U31](x0) = x0 + 1, [U42](x0) = 0, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = x0 + 1, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [proper#](x0) = x0 Strict: proper# U31 X -> proper# X 1 + 1X >= 0 + 1X proper# U21(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# U21(X1, X2) -> proper# X1 0 + 1X1 + 1X2 >= 0 + 1X1 proper# isList X -> proper# X 0 + 1X >= 0 + 1X proper# U22 X -> proper# X 0 + 1X >= 0 + 1X proper# U11 X -> proper# X 0 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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() 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 1 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 1 + 0X >= 2 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 2 + 1X >= 2 + 1X U72 mark X -> mark U72 X 1 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 2 + 1X >= 2 + 1X U31 mark X -> mark U31 X 1 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 1 + 1X >= 1 + 1X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal V 0 + 0V >= 0 + 0V active U72 tt() -> mark tt() 0 >= 0 active U72 X -> U72 active X 0 + 0X >= 1 + 0X active U61 tt() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 1 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# X2} SCC (7): Strict: { proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X, proper# U21(X1, X2) -> proper# X1, proper# U21(X1, X2) -> proper# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1 + 1, [U41](x0, x1) = 0, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + x1 + 1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = x0, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [proper#](x0) = x0 Strict: proper# U21(X1, X2) -> proper# X2 1 + 1X1 + 1X2 >= 0 + 1X2 proper# U21(X1, X2) -> proper# X1 1 + 1X1 + 1X2 >= 0 + 1X1 proper# isList X -> proper# X 0 + 1X >= 0 + 1X proper# U22 X -> proper# X 0 + 1X >= 0 + 1X proper# U11 X -> proper# X 0 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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() 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 1 + 1X >= 1 + 1X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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: {proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList X -> proper# X} SCC (5): Strict: {proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X, proper# isList 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + x1 + 1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = x0 + 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [proper#](x0) = x0 Strict: proper# isList X -> proper# X 1 + 1X >= 0 + 1X proper# U22 X -> proper# X 0 + 1X >= 0 + 1X proper# U11 X -> proper# X 0 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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() 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 2 + 1X >= 2 + 1X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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: {proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 X -> proper# X} SCC (4): Strict: {proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X, proper# U22 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + x1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0 + 1, [isList](x0) = 0, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = x0 + 1, [proper](x0) = x0 + 1, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [proper#](x0) = x0 Strict: proper# U22 X -> proper# X 1 + 1X >= 0 + 1X proper# U11 X -> proper# X 0 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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 >= 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 isNePal X -> isNePal proper X 2 + 1X >= 2 + 1X proper isQid X -> isQid proper X 2 + 1X >= 2 + 1X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper isPal X -> isPal proper X 1 + 0X >= 0 + 0X proper U72 X -> U72 proper X 1 + 0X >= 0 + 0X proper U61 X -> U61 proper X 1 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper U52 X -> U52 proper X 1 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper isNeList X -> isNeList proper X 1 + 0X >= 0 + 0X proper U42 X -> U42 proper X 1 + 0X >= 0 + 0X proper U31 X -> U31 proper X 1 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper isList X -> isList proper X 1 + 0X >= 0 + 0X proper U22 X -> U22 proper X 2 + 1X >= 2 + 1X proper U11 X -> U11 proper X 1 + 1X >= 1 + 1X proper tt() -> ok tt() 1 >= 1 proper nil() -> ok nil() 1 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 2 + 1X >= 2 + 1X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 0 + 0X >= 1 + 0X U22 ok X -> ok U22 X 2 + 1X >= 2 + 1X U22 mark X -> mark U22 X 1 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 1 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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: {proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 X -> proper# X} SCC (3): Strict: {proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2, proper# U11 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = 0, [U41](x0, x1) = 0, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = x0 + 1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0 + 1, [U22](x0) = 0, [isList](x0) = 0, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = 1, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [proper#](x0) = x0 Strict: proper# U11 X -> proper# X 1 + 1X >= 0 + 1X proper# __(X1, X2) -> proper# X2 0 + 1X1 + 1X2 >= 0 + 1X2 proper# __(X1, X2) -> proper# 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() 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 1 + 0X proper tt() -> ok tt() 0 >= 2 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 2 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 0 + 0X >= 1 + 0X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 2 + 1X >= 2 + 1X U11 mark X -> mark U11 X 1 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 active X 0 + 0X >= 1 + 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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: {proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# X2} SCC (2): Strict: {proper# __(X1, X2) -> proper# X1, proper# __(X1, X2) -> proper# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = x0 + 1, [U11](x0) = x0 + 1, [U22](x0) = x0 + 1, [isList](x0) = 1, [U31](x0) = x0 + 1, [U42](x0) = x0 + 1, [isNeList](x0) = 1, [U52](x0) = x0 + 1, [U61](x0) = x0 + 1, [U72](x0) = x0 + 1, [isPal](x0) = 1, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = 1, [ok](x0) = 0, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 0, [e] = 0, [i] = 0, [o] = 0, [u] = 0, [proper#](x0) = x0 + 1 Strict: 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() 1 >= 0 proper o() -> ok o() 1 >= 0 proper i() -> ok i() 1 >= 0 proper e() -> ok e() 1 >= 0 proper a() -> ok a() 1 >= 0 proper isNePal X -> isNePal proper X 1 + 0X >= 1 + 0X proper isQid X -> isQid proper X 1 + 0X >= 1 + 0X proper U81 X -> U81 proper X 1 + 0X >= 2 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 0X2 >= 2 + 0X1 + 0X2 proper isPal X -> isPal proper X 1 + 0X >= 1 + 0X proper U72 X -> U72 proper X 1 + 0X >= 2 + 0X proper U61 X -> U61 proper X 1 + 0X >= 2 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 1 + 0X1 + 0X2 >= 2 + 0X1 + 0X2 proper U52 X -> U52 proper X 1 + 0X >= 2 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 1 + 0X1 + 0X2 >= 2 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 1 + 0X >= 1 + 0X proper U42 X -> U42 proper X 1 + 0X >= 2 + 0X proper U31 X -> U31 proper X 1 + 0X >= 2 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 0X1 + 0X2 >= 2 + 0X1 + 0X2 proper isList X -> isList proper X 1 + 0X >= 1 + 0X proper U22 X -> U22 proper X 1 + 0X >= 2 + 0X proper U11 X -> U11 proper X 1 + 0X >= 2 + 0X proper tt() -> ok tt() 1 >= 0 proper nil() -> ok nil() 1 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 0X1 + 0X2 >= 3 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 0 + 0X isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U81 ok X -> ok U81 X 1 + 0X >= 0 + 0X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 + 0X2 >= 2 + 1X1 + 0X2 isPal ok X -> ok isPal 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 X -> ok U61 X 1 + 0X >= 0 + 0X U61 mark X -> mark U61 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 1 + 0X >= 0 + 0X U52 mark X -> mark U52 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U42 ok X -> ok U42 X 1 + 0X >= 0 + 0X U42 mark X -> mark U42 X 2 + 1X >= 2 + 1X U31 ok X -> ok U31 X 1 + 0X >= 0 + 0X U31 mark X -> mark U31 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22 ok X -> ok U22 X 1 + 0X >= 0 + 0X U22 mark X -> mark U22 X 2 + 1X >= 2 + 1X U11 ok X -> ok U11 X 1 + 0X >= 0 + 0X U11 mark X -> mark U11 X 2 + 1X >= 2 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 2 + 0P + 0I >= 3 + 0P + 0I active isNePal V -> mark U61 isQid V 2 + 0V >= 3 + 0V active isQid u() -> mark tt() 2 >= 1 active isQid o() -> mark tt() 2 >= 1 active isQid i() -> mark tt() 2 >= 1 active isQid e() -> mark tt() 2 >= 1 active isQid a() -> mark tt() 2 >= 1 active U81 tt() -> mark tt() 2 >= 1 active U81 X -> U81 active X 2 + 1X >= 2 + 1X active U71(tt(), P) -> mark U72 isPal P 2 + 0P >= 3 + 0P active U71(X1, X2) -> U71(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isPal nil() -> mark tt() 2 >= 1 active isPal V -> mark U81 isNePal V 2 + 0V >= 3 + 0V active U72 tt() -> mark tt() 2 >= 1 active U72 X -> U72 active X 2 + 1X >= 2 + 1X active U61 tt() -> mark tt() 2 >= 1 active U61 X -> U61 active X 2 + 1X >= 2 + 1X active U51(tt(), V2) -> mark U52 isList V2 2 + 0V2 >= 3 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active U52 tt() -> mark tt() 2 >= 1 active U52 X -> U52 active X 2 + 1X >= 2 + 1X active U41(tt(), V2) -> mark U42 isNeList V2 2 + 0V2 >= 3 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 2 + 0V >= 3 + 0V active U42 tt() -> mark tt() 2 >= 1 active U42 X -> U42 active X 2 + 1X >= 2 + 1X active U31 tt() -> mark tt() 2 >= 1 active U31 X -> U31 active X 2 + 1X >= 2 + 1X active U21(tt(), V2) -> mark U22 isList V2 2 + 0V2 >= 3 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isList nil() -> mark tt() 2 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 2 + 0V >= 3 + 0V active U22 tt() -> mark tt() 2 >= 1 active U22 X -> U22 active X 2 + 1X >= 2 + 1X active U11 tt() -> mark tt() 2 >= 1 active U11 X -> U11 active X 2 + 1X >= 2 + 1X active __(nil(), X) -> mark X 2 + 1X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 3 + 1X + 1Y + 1Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X, nil()) -> mark X 2 + 1X >= 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = x0 + 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = x0 + 1, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = x0, [ok](x0) = x0 + 1, [top](x0) = x0 + 1, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [isNePal#](x0) = x0 Strict: isNePal# ok X -> isNePal# X 1 + 1X >= 0 + 1X Weak: top ok X -> top active X 2 + 1X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 1X 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 isNePal X -> isNePal proper X 1 + 0X >= 1 + 0X proper isQid X -> isQid proper X 1 + 1X >= 1 + 1X proper U81 X -> U81 proper X 1 + 1X >= 1 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isPal X -> isPal proper X 1 + 1X >= 1 + 1X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 1 + 1X >= 1 + 1X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isList X -> isList proper X 1 + 1X >= 1 + 1X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 1 >= 2 proper nil() -> ok nil() 1 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 1 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 1 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 1 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 1 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 2 + 1X >= 2 + 1X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 1 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 1 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 3 + 0P + 1I active isNePal V -> mark U61 isQid V 0 + 0V >= 1 + 0V 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 U81 tt() -> mark tt() 0 >= 2 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 1 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U81 isNePal V 0 + 0V >= 3 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 2 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 1 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 2 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 1 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 1 + 0V active U42 tt() -> mark tt() 0 >= 2 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 2 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 1 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isList V -> mark U11 isNeList V 0 + 0V >= 1 + 0V active U22 tt() -> mark tt() 0 >= 2 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 2 active U11 X -> U11 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 (14): Strict: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X, active# U42 X -> active# X, active# U41(X1, X2) -> active# X1, active# U52 X -> active# X, active# U51(X1, X2) -> active# X1, active# U61 X -> active# X, active# U72 X -> active# X, active# U71(X1, X2) -> active# X1, active# U81 X -> 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + x1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = 0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = 0, [U52](x0) = x0, [U61](x0) = x0, [U72](x0) = x0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = 0, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 0, [o] = 1, [u] = 1, [active#](x0) = x0 Strict: active# U81 X -> active# X 1 + 1X >= 0 + 1X active# U71(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U72 X -> active# X 0 + 1X >= 0 + 1X active# U61 X -> active# X 0 + 1X >= 0 + 1X active# U51(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U52 X -> active# X 0 + 1X >= 0 + 1X active# U41(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U42 X -> active# X 0 + 1X >= 0 + 1X active# U31 X -> active# X 0 + 1X >= 0 + 1X active# U21(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U22 X -> active# X 0 + 1X >= 0 + 1X active# U11 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() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 1 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 0 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 1 + 1X >= 1 + 1X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 1 + 1X >= 1 + 1X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 1 + 1X >= 1 + 1X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 0 + 0X >= 1 + 0X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X, active# U42 X -> active# X, active# U41(X1, X2) -> active# X1, active# U52 X -> active# X, active# U51(X1, X2) -> active# X1, active# U61 X -> active# X, active# U72 X -> active# X, active# U71(X1, X2) -> active# X1} SCC (13): Strict: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X, active# U42 X -> active# X, active# U41(X1, X2) -> active# X1, active# U52 X -> active# X, active# U51(X1, X2) -> active# X1, active# U61 X -> active# X, 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + 1, [mark](x0) = 1, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = 0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = 0, [U52](x0) = x0, [U61](x0) = x0, [U72](x0) = x0, [isPal](x0) = x0, [U81](x0) = x0 + 1, [isQid](x0) = 0, [isNePal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [active#](x0) = x0 Strict: active# U71(X1, X2) -> active# X1 1 + 1X1 + 0X2 >= 0 + 1X1 active# U72 X -> active# X 0 + 1X >= 0 + 1X active# U61 X -> active# X 0 + 1X >= 0 + 1X active# U51(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U52 X -> active# X 0 + 1X >= 0 + 1X active# U41(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U42 X -> active# X 0 + 1X >= 0 + 1X active# U31 X -> active# X 0 + 1X >= 0 + 1X active# U21(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U22 X -> active# X 0 + 1X >= 0 + 1X active# U11 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 >= 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 isNePal X -> isNePal proper X 2 + 0X >= 1 + 0X proper isQid X -> isQid proper X 1 + 0X >= 0 + 0X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isPal X -> isPal proper X 1 + 1X >= 1 + 1X proper U72 X -> U72 proper X 1 + 1X >= 1 + 1X proper U61 X -> U61 proper X 1 + 1X >= 1 + 1X proper U51(X1, X2) -> U51(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper U52 X -> U52 proper X 1 + 1X >= 1 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper isNeList X -> isNeList proper X 1 + 0X >= 0 + 0X proper U42 X -> U42 proper X 1 + 1X >= 1 + 1X proper U31 X -> U31 proper X 1 + 1X >= 1 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper isList X -> isList proper X 1 + 0X >= 0 + 0X proper U22 X -> U22 proper X 1 + 1X >= 1 + 1X proper U11 X -> U11 proper X 1 + 1X >= 1 + 1X proper tt() -> ok tt() 1 >= 1 proper nil() -> ok nil() 1 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 2 + 0X >= 1 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 2 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isPal ok X -> ok isPal X 1 + 1X >= 1 + 1X U72 ok X -> ok U72 X 1 + 1X >= 1 + 1X U72 mark X -> mark U72 X 1 + 0X >= 1 + 0X U61 ok X -> ok U61 X 1 + 1X >= 1 + 1X U61 mark X -> mark U61 X 1 + 0X >= 1 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 U52 ok X -> ok U52 X 1 + 1X >= 1 + 1X U52 mark X -> mark U52 X 1 + 0X >= 1 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 1 + 0X >= 1 + 0X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 1 + 0X >= 1 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 isList ok X -> ok isList X 0 + 0X >= 1 + 0X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 1 + 0X >= 1 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 1 + 0X >= 1 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 1 + 0V 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 U81 tt() -> mark tt() 0 >= 1 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 1 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 1 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 1 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 1 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 1 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 1 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 1 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 1 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 1 + 0V active U42 tt() -> mark tt() 0 >= 1 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 1 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 1 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 1 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 1 + 0V active U22 tt() -> mark tt() 0 >= 1 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 1 active U11 X -> U11 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 1 + 0X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 1 + 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 >= 1 + 0X __(ok X1, ok X2) -> ok __(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 0X2 __(X1, mark X2) -> mark __(X1, X2) 1 + 1X1 + 0X2 >= 1 + 0X1 + 0X2 SCCS (1): Scc: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X, active# U42 X -> active# X, active# U41(X1, X2) -> active# X1, active# U52 X -> active# X, active# U51(X1, X2) -> active# X1, active# U61 X -> active# X, active# U72 X -> active# X} SCC (12): Strict: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X, active# U42 X -> active# X, active# U41(X1, X2) -> active# X1, active# U52 X -> active# X, active# U51(X1, X2) -> active# X1, active# U61 X -> active# X, active# U72 X -> 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + x1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = 0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = 0, [U52](x0) = x0, [U61](x0) = x0, [U72](x0) = x0 + 1, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = 0, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 0, [o] = 1, [u] = 1, [active#](x0) = x0 Strict: active# U72 X -> active# X 1 + 1X >= 0 + 1X active# U61 X -> active# X 0 + 1X >= 0 + 1X active# U51(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U52 X -> active# X 0 + 1X >= 0 + 1X active# U41(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U42 X -> active# X 0 + 1X >= 0 + 1X active# U31 X -> active# X 0 + 1X >= 0 + 1X active# U21(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U22 X -> active# X 0 + 1X >= 0 + 1X active# U11 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() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 1 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 0 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 1 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 2 + 1X >= 2 + 1X U72 mark X -> mark U72 X 1 + 0X >= 0 + 0X U61 ok X -> ok U61 X 1 + 1X >= 1 + 1X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 1 + 1X >= 1 + 1X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 0 + 0X >= 1 + 0X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal V 0 + 0V >= 0 + 0V active U72 tt() -> mark tt() 0 >= 0 active U72 X -> U72 active X 0 + 0X >= 1 + 0X active U61 tt() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X, active# U42 X -> active# X, active# U41(X1, X2) -> active# X1, active# U52 X -> active# X, active# U51(X1, X2) -> active# X1, active# U61 X -> active# X} SCC (11): Strict: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X, active# U42 X -> active# X, active# U41(X1, X2) -> active# X1, active# U52 X -> active# X, active# U51(X1, X2) -> active# X1, active# U61 X -> 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0, [U41](x0, x1) = x0, [U51](x0, x1) = x0, [U71](x0, x1) = x0 + 1, [mark](x0) = x0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = 0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = 0, [U52](x0) = x0, [U61](x0) = x0 + 1, [U72](x0) = x0 + 1, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = 0, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 0, [u] = 1, [active#](x0) = x0 Strict: active# U61 X -> active# X 1 + 1X >= 0 + 1X active# U51(X1, X2) -> active# X1 0 + 1X1 + 0X2 >= 0 + 1X1 active# U52 X -> active# X 0 + 1X >= 0 + 1X active# U41(X1, X2) -> active# X1 0 + 1X1 + 0X2 >= 0 + 1X1 active# U42 X -> active# X 0 + 1X >= 0 + 1X active# U31 X -> active# X 0 + 1X >= 0 + 1X active# U21(X1, X2) -> active# X1 0 + 1X1 + 0X2 >= 0 + 1X1 active# U22 X -> active# X 0 + 1X >= 0 + 1X active# U11 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() 0 >= 2 proper o() -> ok o() 0 >= 1 proper i() -> ok i() 0 >= 2 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 0 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 1 + 0X proper U61 X -> U61 proper X 0 + 0X >= 1 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 1X >= 1 + 1X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 2 + 1X >= 2 + 1X U72 mark X -> mark U72 X 1 + 1X >= 1 + 1X U61 ok X -> ok U61 X 2 + 1X >= 2 + 1X U61 mark X -> mark U61 X 1 + 1X >= 1 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 1X1 + 0X2 >= 0 + 1X1 + 0X2 U52 ok X -> ok U52 X 1 + 1X >= 1 + 1X U52 mark X -> mark U52 X 0 + 1X >= 0 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 1X1 + 0X2 >= 0 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 0 + 1X >= 0 + 1X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 0 + 1X >= 0 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 1X1 + 0X2 >= 0 + 1X1 + 0X2 isList ok X -> ok isList X 0 + 0X >= 1 + 0X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 1X >= 0 + 1X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 1X >= 0 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 1 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 1 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal V 0 + 0V >= 2 + 0V active U72 tt() -> mark tt() 0 >= 0 active U72 X -> U72 active X 0 + 0X >= 1 + 0X active U61 tt() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 1 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 0 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 0 + 0X + 0Y + 0Z >= 0 + 1X + 1Y + 1Z 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 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(mark X1, X2) -> mark __(X1, X2) 0 + 1X1 + 1X2 >= 0 + 1X1 + 1X2 __(X1, mark X2) -> mark __(X1, X2) 0 + 1X1 + 1X2 >= 0 + 1X1 + 1X2 SCCS (1): Scc: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X, active# U42 X -> active# X, active# U41(X1, X2) -> active# X1, active# U52 X -> active# X, active# U51(X1, X2) -> active# X1} SCC (10): Strict: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X, active# U42 X -> active# X, active# U41(X1, X2) -> active# X1, active# U52 X -> active# X, active# U51(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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1 + 1, [U71](x0, x1) = x0 + x1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = 0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = 0, [U52](x0) = x0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = 0, [isNePal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 0, [o] = 1, [u] = 1, [active#](x0) = x0 Strict: active# U51(X1, X2) -> active# X1 1 + 1X1 + 1X2 >= 0 + 1X1 active# U52 X -> active# X 0 + 1X >= 0 + 1X active# U41(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U42 X -> active# X 0 + 1X >= 0 + 1X active# U31 X -> active# X 0 + 1X >= 0 + 1X active# U21(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U22 X -> active# X 0 + 1X >= 0 + 1X active# U11 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 >= 2 proper o() -> ok o() 2 >= 2 proper i() -> ok i() 1 >= 1 proper e() -> ok e() 2 >= 2 proper a() -> ok a() 2 >= 2 proper isNePal X -> isNePal proper X 2 + 0X >= 1 + 0X proper isQid X -> isQid proper X 1 + 0X >= 0 + 0X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper isPal X -> isPal proper X 1 + 0X >= 0 + 0X proper U72 X -> U72 proper X 1 + 0X >= 0 + 0X proper U61 X -> U61 proper X 1 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 proper U52 X -> U52 proper X 1 + 1X >= 1 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper isNeList X -> isNeList proper X 1 + 0X >= 0 + 0X proper U42 X -> U42 proper X 1 + 1X >= 1 + 1X proper U31 X -> U31 proper X 1 + 1X >= 1 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper isList X -> isList proper X 1 + 0X >= 0 + 0X proper U22 X -> U22 proper X 1 + 1X >= 1 + 1X proper U11 X -> U11 proper X 1 + 1X >= 1 + 1X proper tt() -> ok tt() 1 >= 1 proper nil() -> ok nil() 1 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 1 + 1X >= 1 + 1X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 0 + 0X >= 1 + 0X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X, active# U42 X -> active# X, active# U41(X1, X2) -> active# X1, active# U52 X -> active# X} SCC (9): Strict: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X, active# U42 X -> active# X, active# U41(X1, X2) -> active# X1, active# U52 X -> 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + x1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = 0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = 0, [U52](x0) = x0 + 1, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = 0, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 0, [o] = 1, [u] = 1, [active#](x0) = x0 Strict: active# U52 X -> active# X 1 + 1X >= 0 + 1X active# U41(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U42 X -> active# X 0 + 1X >= 0 + 1X active# U31 X -> active# X 0 + 1X >= 0 + 1X active# U21(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U22 X -> active# X 0 + 1X >= 0 + 1X active# U11 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() 0 >= 2 proper o() -> ok o() 0 >= 2 proper i() -> ok i() 0 >= 1 proper e() -> ok e() 0 >= 2 proper a() -> ok a() 0 >= 2 proper isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 0 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 1 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 2 + 1X >= 2 + 1X U52 mark X -> mark U52 X 1 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 0 + 0X >= 1 + 0X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 1 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X, active# U42 X -> active# X, active# U41(X1, X2) -> active# X1} SCC (8): Strict: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X, active# U42 X -> active# X, active# U41(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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = 0, [U31](x0) = x0, [U42](x0) = x0, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = 0, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [active#](x0) = x0 Strict: active# U41(X1, X2) -> active# X1 1 + 1X1 + 0X2 >= 0 + 1X1 active# U42 X -> active# X 0 + 1X >= 0 + 1X active# U31 X -> active# X 0 + 1X >= 0 + 1X active# U21(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U22 X -> active# X 0 + 1X >= 0 + 1X active# U11 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() 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 0 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 1 + 1X >= 1 + 1X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 0 + 0X >= 1 + 0X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X, active# U42 X -> active# X} SCC (7): Strict: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X, active# U42 X -> 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + 1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = 0, [U31](x0) = x0, [U42](x0) = x0 + 1, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = x0 + 1, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = 0, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = x0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [active#](x0) = x0 Strict: active# U42 X -> active# X 1 + 1X >= 0 + 1X active# U31 X -> active# X 0 + 1X >= 0 + 1X active# U21(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U22 X -> active# X 0 + 1X >= 0 + 1X active# U11 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 1 + 1X >= 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 0 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 1 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 1 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 0 + 0X >= 1 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 2 + 1X >= 2 + 1X U72 mark X -> mark U72 X 1 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 2 + 1X >= 2 + 1X U42 mark X -> mark U42 X 1 + 0X >= 0 + 0X U31 ok X -> ok U31 X 1 + 1X >= 1 + 1X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 0 + 0X >= 1 + 0X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal V 0 + 0V >= 0 + 0V active U72 tt() -> mark tt() 0 >= 0 active U72 X -> U72 active X 0 + 0X >= 1 + 0X active U61 tt() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 1 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> active# X} SCC (6): Strict: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1, active# U31 X -> 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + x1 + 1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = 0, [U31](x0) = x0 + 1, [U42](x0) = 0, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [active#](x0) = x0 Strict: active# U31 X -> active# X 1 + 1X >= 0 + 1X active# U21(X1, X2) -> active# X1 0 + 1X1 + 1X2 >= 0 + 1X1 active# U22 X -> active# X 0 + 1X >= 0 + 1X active# U11 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() 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 1 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 1 + 0X >= 2 + 0X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 2 + 1X >= 2 + 1X U31 mark X -> mark U31 X 1 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 0 + 0X >= 1 + 0X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 1 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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# U11 X -> active# X, active# U22 X -> active# X, active# U21(X1, X2) -> active# X1} SCC (5): Strict: { active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U11 X -> active# X, active# U22 X -> active# X, active# U21(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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + x1 + 1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0, [isList](x0) = 0, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = x0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [active#](x0) = x0 Strict: active# U21(X1, X2) -> active# X1 1 + 1X1 + 0X2 >= 0 + 1X1 active# U22 X -> active# X 0 + 1X >= 0 + 1X active# U11 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() 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 isNePal X -> isNePal proper X 1 + 0X >= 1 + 0X proper isQid X -> isQid proper X 1 + 1X >= 1 + 1X proper U81 X -> U81 proper X 1 + 1X >= 1 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 1X1 + 1X2 >= 0 + 1X1 + 1X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 1X1 + 1X2 >= 0 + 1X1 + 1X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 1X >= 0 + 1X proper U11 X -> U11 proper X 0 + 1X >= 0 + 1X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 1X1 + 1X2 >= 0 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 3 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 0 + 0X >= 1 + 0X U22 ok X -> ok U22 X 1 + 1X >= 1 + 1X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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# U11 X -> active# X, active# U22 X -> active# X} SCC (4): Strict: {active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U11 X -> active# X, active# U22 X -> 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = x0 + x1, [U41](x0, x1) = x0 + x1, [U51](x0, x1) = x0 + x1, [U71](x0, x1) = x0 + x1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0, [U22](x0) = x0 + 1, [isList](x0) = 0, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = x0 + 1, [proper](x0) = x0 + 1, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [active#](x0) = x0 Strict: active# U22 X -> active# X 1 + 1X >= 0 + 1X active# U11 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 >= 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 isNePal X -> isNePal proper X 2 + 1X >= 2 + 1X proper isQid X -> isQid proper X 2 + 1X >= 2 + 1X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper isPal X -> isPal proper X 1 + 0X >= 0 + 0X proper U72 X -> U72 proper X 1 + 0X >= 0 + 0X proper U61 X -> U61 proper X 1 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper U52 X -> U52 proper X 1 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper isNeList X -> isNeList proper X 1 + 0X >= 0 + 0X proper U42 X -> U42 proper X 1 + 0X >= 0 + 0X proper U31 X -> U31 proper X 1 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 proper isList X -> isList proper X 1 + 0X >= 0 + 0X proper U22 X -> U22 proper X 2 + 1X >= 2 + 1X proper U11 X -> U11 proper X 1 + 1X >= 1 + 1X proper tt() -> ok tt() 1 >= 1 proper nil() -> ok nil() 1 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 2 + 1X >= 2 + 1X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 1X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 0 + 0X >= 1 + 0X U22 ok X -> ok U22 X 2 + 1X >= 2 + 1X U22 mark X -> mark U22 X 1 + 0X >= 0 + 0X U11 ok X -> ok U11 X 1 + 1X >= 1 + 1X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 1X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 1 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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# U11 X -> active# X} SCC (3): Strict: {active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# X2, active# U11 X -> 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1, [U21](x0, x1) = 0, [U41](x0, x1) = 0, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = x0 + 1, [mark](x0) = 0, [active](x0) = 0, [U11](x0) = x0 + 1, [U22](x0) = 0, [isList](x0) = 0, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = 1, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = 0, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 0, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [active#](x0) = x0 Strict: active# U11 X -> active# X 1 + 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() 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 0 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 0 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 1 + 0X proper tt() -> ok tt() 0 >= 2 proper nil() -> ok nil() 0 >= 1 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 0X >= 0 + 0X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isPal ok X -> ok isPal X 0 + 0X >= 1 + 0X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 2 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isList ok X -> ok isList X 0 + 0X >= 1 + 0X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 2 + 1X >= 2 + 1X U11 mark X -> mark U11 X 1 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 0 + 0P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal 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() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 active X 0 + 0X >= 1 + 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) 2 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 __(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} SCC (2): Strict: {active# __(X1, X2) -> active# X1, active# __(X1, X2) -> active# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = x0 + 1, [U11](x0) = x0 + 1, [U22](x0) = x0 + 1, [isList](x0) = 1, [U31](x0) = x0 + 1, [U42](x0) = x0 + 1, [isNeList](x0) = 1, [U52](x0) = x0 + 1, [U61](x0) = x0 + 1, [U72](x0) = x0 + 1, [isPal](x0) = 1, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = 1, [ok](x0) = 0, [top](x0) = 0, [nil] = 0, [tt] = 0, [a] = 0, [e] = 0, [i] = 0, [o] = 0, [u] = 0, [active#](x0) = x0 + 1 Strict: 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 >= 0 proper o() -> ok o() 1 >= 0 proper i() -> ok i() 1 >= 0 proper e() -> ok e() 1 >= 0 proper a() -> ok a() 1 >= 0 proper isNePal X -> isNePal proper X 1 + 0X >= 1 + 0X proper isQid X -> isQid proper X 1 + 0X >= 1 + 0X proper U81 X -> U81 proper X 1 + 0X >= 2 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 0X2 >= 2 + 0X1 + 0X2 proper isPal X -> isPal proper X 1 + 0X >= 1 + 0X proper U72 X -> U72 proper X 1 + 0X >= 2 + 0X proper U61 X -> U61 proper X 1 + 0X >= 2 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 1 + 0X1 + 0X2 >= 2 + 0X1 + 0X2 proper U52 X -> U52 proper X 1 + 0X >= 2 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 1 + 0X1 + 0X2 >= 2 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 1 + 0X >= 1 + 0X proper U42 X -> U42 proper X 1 + 0X >= 2 + 0X proper U31 X -> U31 proper X 1 + 0X >= 2 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 0X1 + 0X2 >= 2 + 0X1 + 0X2 proper isList X -> isList proper X 1 + 0X >= 1 + 0X proper U22 X -> U22 proper X 1 + 0X >= 2 + 0X proper U11 X -> U11 proper X 1 + 0X >= 2 + 0X proper tt() -> ok tt() 1 >= 0 proper nil() -> ok nil() 1 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 0X1 + 0X2 >= 3 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 0 + 0X isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U81 ok X -> ok U81 X 1 + 0X >= 0 + 0X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 + 0X2 >= 2 + 1X1 + 0X2 isPal ok X -> ok isPal 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 X -> ok U61 X 1 + 0X >= 0 + 0X U61 mark X -> mark U61 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 1 + 0X >= 0 + 0X U52 mark X -> mark U52 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U42 ok X -> ok U42 X 1 + 0X >= 0 + 0X U42 mark X -> mark U42 X 2 + 1X >= 2 + 1X U31 ok X -> ok U31 X 1 + 0X >= 0 + 0X U31 mark X -> mark U31 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22 ok X -> ok U22 X 1 + 0X >= 0 + 0X U22 mark X -> mark U22 X 2 + 1X >= 2 + 1X U11 ok X -> ok U11 X 1 + 0X >= 0 + 0X U11 mark X -> mark U11 X 2 + 1X >= 2 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 2 + 0P + 0I >= 3 + 0P + 0I active isNePal V -> mark U61 isQid V 2 + 0V >= 3 + 0V active isQid u() -> mark tt() 2 >= 1 active isQid o() -> mark tt() 2 >= 1 active isQid i() -> mark tt() 2 >= 1 active isQid e() -> mark tt() 2 >= 1 active isQid a() -> mark tt() 2 >= 1 active U81 tt() -> mark tt() 2 >= 1 active U81 X -> U81 active X 2 + 1X >= 2 + 1X active U71(tt(), P) -> mark U72 isPal P 2 + 0P >= 3 + 0P active U71(X1, X2) -> U71(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isPal nil() -> mark tt() 2 >= 1 active isPal V -> mark U81 isNePal V 2 + 0V >= 3 + 0V active U72 tt() -> mark tt() 2 >= 1 active U72 X -> U72 active X 2 + 1X >= 2 + 1X active U61 tt() -> mark tt() 2 >= 1 active U61 X -> U61 active X 2 + 1X >= 2 + 1X active U51(tt(), V2) -> mark U52 isList V2 2 + 0V2 >= 3 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active U52 tt() -> mark tt() 2 >= 1 active U52 X -> U52 active X 2 + 1X >= 2 + 1X active U41(tt(), V2) -> mark U42 isNeList V2 2 + 0V2 >= 3 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 2 + 0V >= 3 + 0V active U42 tt() -> mark tt() 2 >= 1 active U42 X -> U42 active X 2 + 1X >= 2 + 1X active U31 tt() -> mark tt() 2 >= 1 active U31 X -> U31 active X 2 + 1X >= 2 + 1X active U21(tt(), V2) -> mark U22 isList V2 2 + 0V2 >= 3 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isList nil() -> mark tt() 2 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 2 + 0V >= 3 + 0V active U22 tt() -> mark tt() 2 >= 1 active U22 X -> U22 active X 2 + 1X >= 2 + 1X active U11 tt() -> mark tt() 2 >= 1 active U11 X -> U11 active X 2 + 1X >= 2 + 1X active __(nil(), X) -> mark X 2 + 1X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 3 + 1X + 1Y + 1Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X, nil()) -> mark X 2 + 1X >= 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = x0 + 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = x0 + 1, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = x0, [ok](x0) = x0 + 1, [top](x0) = x0 + 1, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [isQid#](x0) = x0 Strict: isQid# ok X -> isQid# X 1 + 1X >= 0 + 1X Weak: top ok X -> top active X 2 + 1X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 1X 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 isNePal X -> isNePal proper X 1 + 0X >= 1 + 0X proper isQid X -> isQid proper X 1 + 1X >= 1 + 1X proper U81 X -> U81 proper X 1 + 1X >= 1 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isPal X -> isPal proper X 1 + 1X >= 1 + 1X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 1 + 1X >= 1 + 1X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isList X -> isList proper X 1 + 1X >= 1 + 1X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 1 >= 2 proper nil() -> ok nil() 1 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 1 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 1 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 1 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 1 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 2 + 1X >= 2 + 1X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 1 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 1 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 3 + 0P + 1I active isNePal V -> mark U61 isQid V 0 + 0V >= 1 + 0V 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 U81 tt() -> mark tt() 0 >= 2 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 1 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U81 isNePal V 0 + 0V >= 3 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 2 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 1 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 2 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 1 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 1 + 0V active U42 tt() -> mark tt() 0 >= 2 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 2 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 1 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isList V -> mark U11 isNeList V 0 + 0V >= 1 + 0V active U22 tt() -> mark tt() 0 >= 2 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 2 active U11 X -> U11 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: {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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = x0 + 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = x0 + 1, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = x0, [ok](x0) = x0 + 1, [top](x0) = x0 + 1, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [isPal#](x0) = x0 Strict: isPal# ok X -> isPal# X 1 + 1X >= 0 + 1X Weak: top ok X -> top active X 2 + 1X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 1X 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 isNePal X -> isNePal proper X 1 + 0X >= 1 + 0X proper isQid X -> isQid proper X 1 + 1X >= 1 + 1X proper U81 X -> U81 proper X 1 + 1X >= 1 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isPal X -> isPal proper X 1 + 1X >= 1 + 1X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 1 + 1X >= 1 + 1X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isList X -> isList proper X 1 + 1X >= 1 + 1X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 1 >= 2 proper nil() -> ok nil() 1 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 1 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 1 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 1 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 1 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 2 + 1X >= 2 + 1X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 1 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 1 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 3 + 0P + 1I active isNePal V -> mark U61 isQid V 0 + 0V >= 1 + 0V 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 U81 tt() -> mark tt() 0 >= 2 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 1 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U81 isNePal V 0 + 0V >= 3 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 2 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 1 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 2 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 1 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 1 + 0V active U42 tt() -> mark tt() 0 >= 2 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 2 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 1 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isList V -> mark U11 isNeList V 0 + 0V >= 1 + 0V active U22 tt() -> mark tt() 0 >= 2 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 2 active U11 X -> U11 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: { 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = x0 + 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = x0 + 1, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](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, [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() 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 isNePal X -> isNePal proper X 1 + 0X >= 1 + 0X proper isQid X -> isQid proper X 1 + 1X >= 1 + 1X proper U81 X -> U81 proper X 1 + 1X >= 1 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 1X2 proper isPal X -> isPal proper X 1 + 1X >= 1 + 1X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 1 + 1X >= 1 + 1X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isList X -> isList proper X 1 + 1X >= 1 + 1X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 1 >= 2 proper nil() -> ok nil() 1 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 1 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 1 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 1 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 1 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 2 + 1X >= 2 + 1X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 1 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 1 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 2 + 1P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 1 + 0V 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 U81 tt() -> mark tt() 0 >= 2 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 1 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U81 isNePal V 0 + 0V >= 3 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 2 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 1 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 2 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 1 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 1 + 0V active U42 tt() -> mark tt() 0 >= 2 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 2 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 1 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isList V -> mark U11 isNeList V 0 + 0V >= 1 + 0V active U22 tt() -> mark tt() 0 >= 2 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 2 active U11 X -> U11 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = 0, [mark](x0) = x0 + 1, [active](x0) = x0 + 1, [U11](x0) = x0 + 1, [U22](x0) = x0 + 1, [isList](x0) = 1, [U31](x0) = x0 + 1, [U42](x0) = x0 + 1, [isNeList](x0) = 1, [U52](x0) = x0 + 1, [U61](x0) = x0 + 1, [U72](x0) = x0 + 1, [isPal](x0) = 1, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 0, [u] = 1, [U71#](x0, x1) = x0 Strict: U71#(mark X1, X2) -> U71#(X1, X2) 1 + 1X1 + 0X2 >= 0 + 1X1 + 0X2 Weak: top ok X -> top active X 1 + 0X >= 2 + 1X top mark X -> top proper X 2 + 1X >= 2 + 1X proper u() -> ok u() 2 >= 0 proper o() -> ok o() 1 >= 0 proper i() -> ok i() 2 >= 0 proper e() -> ok e() 2 >= 0 proper a() -> ok a() 2 >= 0 proper isNePal X -> isNePal proper X 2 + 0X >= 1 + 0X proper isQid X -> isQid proper X 2 + 0X >= 1 + 0X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 2 + 0X >= 1 + 0X proper U72 X -> U72 proper X 2 + 1X >= 2 + 1X proper U61 X -> U61 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2) -> U51(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper U52 X -> U52 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 0X >= 1 + 0X proper U42 X -> U42 proper X 2 + 1X >= 2 + 1X proper U31 X -> U31 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22 X -> U22 proper X 2 + 1X >= 2 + 1X proper U11 X -> U11 proper X 2 + 1X >= 2 + 1X proper tt() -> ok tt() 1 >= 0 proper nil() -> ok nil() 1 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 0 + 0X isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U81 ok X -> ok U81 X 1 + 0X >= 0 + 0X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal 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 X -> ok U61 X 1 + 0X >= 0 + 0X U61 mark X -> mark U61 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 1 + 0X >= 0 + 0X U52 mark X -> mark U52 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U42 ok X -> ok U42 X 1 + 0X >= 0 + 0X U42 mark X -> mark U42 X 2 + 1X >= 2 + 1X U31 ok X -> ok U31 X 1 + 0X >= 0 + 0X U31 mark X -> mark U31 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22 ok X -> ok U22 X 1 + 0X >= 0 + 0X U22 mark X -> mark U22 X 2 + 1X >= 2 + 1X U11 ok X -> ok U11 X 1 + 0X >= 0 + 0X U11 mark X -> mark U11 X 2 + 1X >= 2 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 2 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 2 + 0V >= 3 + 0V active isQid u() -> mark tt() 2 >= 1 active isQid o() -> mark tt() 2 >= 1 active isQid i() -> mark tt() 2 >= 1 active isQid e() -> mark tt() 2 >= 1 active isQid a() -> mark tt() 2 >= 1 active U81 tt() -> mark tt() 2 >= 1 active U81 X -> U81 active X 2 + 1X >= 2 + 1X active U71(tt(), P) -> mark U72 isPal P 1 + 0P >= 3 + 0P active U71(X1, X2) -> U71(active X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isPal nil() -> mark tt() 2 >= 1 active isPal V -> mark U81 isNePal V 2 + 0V >= 3 + 0V active U72 tt() -> mark tt() 2 >= 1 active U72 X -> U72 active X 2 + 1X >= 2 + 1X active U61 tt() -> mark tt() 2 >= 1 active U61 X -> U61 active X 2 + 1X >= 2 + 1X active U51(tt(), V2) -> mark U52 isList V2 2 + 0V2 >= 3 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active U52 tt() -> mark tt() 2 >= 1 active U52 X -> U52 active X 2 + 1X >= 2 + 1X active U41(tt(), V2) -> mark U42 isNeList V2 2 + 0V2 >= 3 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 2 + 0V >= 3 + 0V active U42 tt() -> mark tt() 2 >= 1 active U42 X -> U42 active X 2 + 1X >= 2 + 1X active U31 tt() -> mark tt() 2 >= 1 active U31 X -> U31 active X 2 + 1X >= 2 + 1X active U21(tt(), V2) -> mark U22 isList V2 2 + 0V2 >= 3 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isList nil() -> mark tt() 2 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 2 + 0V >= 3 + 0V active U22 tt() -> mark tt() 2 >= 1 active U22 X -> U22 active X 2 + 1X >= 2 + 1X active U11 tt() -> mark tt() 2 >= 1 active U11 X -> U11 active X 2 + 1X >= 2 + 1X active __(nil(), X) -> mark X 2 + 1X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 3 + 1X + 1Y + 1Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X, nil()) -> mark X 2 + 1X >= 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: {U81# mark X -> U81# X, U81# ok X -> U81# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = 0, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [mark](x0) = x0, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U81#](x0) = x0 Strict: U81# ok X -> U81# X 1 + 1X >= 0 + 1X U81# mark X -> U81# X 0 + 1X >= 0 + 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 1X >= 1 + 1X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 2 + 0P + 1I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal V 0 + 0V >= 2 + 0V active U72 tt() -> mark tt() 0 >= 0 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 2 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 2 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 0 + 1X 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 + 0X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 0 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(X1, mark X2) -> mark __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 SCCS (1): Scc: {U81# mark X -> U81# X} SCC (1): Strict: {U81# mark X -> U81# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = 0, [mark](x0) = x0 + 1, [active](x0) = x0 + 1, [U11](x0) = x0 + 1, [U22](x0) = x0 + 1, [isList](x0) = 1, [U31](x0) = x0 + 1, [U42](x0) = x0 + 1, [isNeList](x0) = 1, [U52](x0) = x0 + 1, [U61](x0) = x0 + 1, [U72](x0) = x0 + 1, [isPal](x0) = 1, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 0, [u] = 1, [U81#](x0) = x0 Strict: U81# mark X -> U81# X 1 + 1X >= 0 + 1X Weak: top ok X -> top active X 1 + 0X >= 2 + 1X top mark X -> top proper X 2 + 1X >= 2 + 1X proper u() -> ok u() 2 >= 0 proper o() -> ok o() 1 >= 0 proper i() -> ok i() 2 >= 0 proper e() -> ok e() 2 >= 0 proper a() -> ok a() 2 >= 0 proper isNePal X -> isNePal proper X 2 + 0X >= 1 + 0X proper isQid X -> isQid proper X 2 + 0X >= 1 + 0X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 2 + 0X >= 1 + 0X proper U72 X -> U72 proper X 2 + 1X >= 2 + 1X proper U61 X -> U61 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2) -> U51(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper U52 X -> U52 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 0X >= 1 + 0X proper U42 X -> U42 proper X 2 + 1X >= 2 + 1X proper U31 X -> U31 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22 X -> U22 proper X 2 + 1X >= 2 + 1X proper U11 X -> U11 proper X 2 + 1X >= 2 + 1X proper tt() -> ok tt() 1 >= 0 proper nil() -> ok nil() 1 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 0 + 0X isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U81 ok X -> ok U81 X 1 + 0X >= 0 + 0X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal 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 X -> ok U61 X 1 + 0X >= 0 + 0X U61 mark X -> mark U61 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 1 + 0X >= 0 + 0X U52 mark X -> mark U52 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U42 ok X -> ok U42 X 1 + 0X >= 0 + 0X U42 mark X -> mark U42 X 2 + 1X >= 2 + 1X U31 ok X -> ok U31 X 1 + 0X >= 0 + 0X U31 mark X -> mark U31 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22 ok X -> ok U22 X 1 + 0X >= 0 + 0X U22 mark X -> mark U22 X 2 + 1X >= 2 + 1X U11 ok X -> ok U11 X 1 + 0X >= 0 + 0X U11 mark X -> mark U11 X 2 + 1X >= 2 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 2 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 2 + 0V >= 3 + 0V active isQid u() -> mark tt() 2 >= 1 active isQid o() -> mark tt() 2 >= 1 active isQid i() -> mark tt() 2 >= 1 active isQid e() -> mark tt() 2 >= 1 active isQid a() -> mark tt() 2 >= 1 active U81 tt() -> mark tt() 2 >= 1 active U81 X -> U81 active X 2 + 1X >= 2 + 1X active U71(tt(), P) -> mark U72 isPal P 1 + 0P >= 3 + 0P active U71(X1, X2) -> U71(active X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isPal nil() -> mark tt() 2 >= 1 active isPal V -> mark U81 isNePal V 2 + 0V >= 3 + 0V active U72 tt() -> mark tt() 2 >= 1 active U72 X -> U72 active X 2 + 1X >= 2 + 1X active U61 tt() -> mark tt() 2 >= 1 active U61 X -> U61 active X 2 + 1X >= 2 + 1X active U51(tt(), V2) -> mark U52 isList V2 2 + 0V2 >= 3 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active U52 tt() -> mark tt() 2 >= 1 active U52 X -> U52 active X 2 + 1X >= 2 + 1X active U41(tt(), V2) -> mark U42 isNeList V2 2 + 0V2 >= 3 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 2 + 0V >= 3 + 0V active U42 tt() -> mark tt() 2 >= 1 active U42 X -> U42 active X 2 + 1X >= 2 + 1X active U31 tt() -> mark tt() 2 >= 1 active U31 X -> U31 active X 2 + 1X >= 2 + 1X active U21(tt(), V2) -> mark U22 isList V2 2 + 0V2 >= 3 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isList nil() -> mark tt() 2 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 2 + 0V >= 3 + 0V active U22 tt() -> mark tt() 2 >= 1 active U22 X -> U22 active X 2 + 1X >= 2 + 1X active U11 tt() -> mark tt() 2 >= 1 active U11 X -> U11 active X 2 + 1X >= 2 + 1X active __(nil(), X) -> mark X 2 + 1X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 3 + 1X + 1Y + 1Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X, nil()) -> mark X 2 + 1X >= 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: {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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = 0, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [mark](x0) = x0, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U72#](x0) = x0 Strict: U72# ok X -> U72# X 1 + 1X >= 0 + 1X U72# mark X -> U72# X 0 + 1X >= 0 + 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 1X >= 1 + 1X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 2 + 0P + 1I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal V 0 + 0V >= 2 + 0V active U72 tt() -> mark tt() 0 >= 0 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 2 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 2 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 0 + 1X 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 + 0X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 0 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(X1, mark X2) -> mark __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 SCCS (1): Scc: {U72# mark X -> U72# X} SCC (1): Strict: {U72# mark 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = 0, [mark](x0) = x0 + 1, [active](x0) = x0 + 1, [U11](x0) = x0 + 1, [U22](x0) = x0 + 1, [isList](x0) = 1, [U31](x0) = x0 + 1, [U42](x0) = x0 + 1, [isNeList](x0) = 1, [U52](x0) = x0 + 1, [U61](x0) = x0 + 1, [U72](x0) = x0 + 1, [isPal](x0) = 1, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 0, [u] = 1, [U72#](x0) = x0 Strict: U72# mark X -> U72# X 1 + 1X >= 0 + 1X Weak: top ok X -> top active X 1 + 0X >= 2 + 1X top mark X -> top proper X 2 + 1X >= 2 + 1X proper u() -> ok u() 2 >= 0 proper o() -> ok o() 1 >= 0 proper i() -> ok i() 2 >= 0 proper e() -> ok e() 2 >= 0 proper a() -> ok a() 2 >= 0 proper isNePal X -> isNePal proper X 2 + 0X >= 1 + 0X proper isQid X -> isQid proper X 2 + 0X >= 1 + 0X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 2 + 0X >= 1 + 0X proper U72 X -> U72 proper X 2 + 1X >= 2 + 1X proper U61 X -> U61 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2) -> U51(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper U52 X -> U52 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 0X >= 1 + 0X proper U42 X -> U42 proper X 2 + 1X >= 2 + 1X proper U31 X -> U31 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22 X -> U22 proper X 2 + 1X >= 2 + 1X proper U11 X -> U11 proper X 2 + 1X >= 2 + 1X proper tt() -> ok tt() 1 >= 0 proper nil() -> ok nil() 1 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 0 + 0X isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U81 ok X -> ok U81 X 1 + 0X >= 0 + 0X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal 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 X -> ok U61 X 1 + 0X >= 0 + 0X U61 mark X -> mark U61 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 1 + 0X >= 0 + 0X U52 mark X -> mark U52 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U42 ok X -> ok U42 X 1 + 0X >= 0 + 0X U42 mark X -> mark U42 X 2 + 1X >= 2 + 1X U31 ok X -> ok U31 X 1 + 0X >= 0 + 0X U31 mark X -> mark U31 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22 ok X -> ok U22 X 1 + 0X >= 0 + 0X U22 mark X -> mark U22 X 2 + 1X >= 2 + 1X U11 ok X -> ok U11 X 1 + 0X >= 0 + 0X U11 mark X -> mark U11 X 2 + 1X >= 2 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 2 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 2 + 0V >= 3 + 0V active isQid u() -> mark tt() 2 >= 1 active isQid o() -> mark tt() 2 >= 1 active isQid i() -> mark tt() 2 >= 1 active isQid e() -> mark tt() 2 >= 1 active isQid a() -> mark tt() 2 >= 1 active U81 tt() -> mark tt() 2 >= 1 active U81 X -> U81 active X 2 + 1X >= 2 + 1X active U71(tt(), P) -> mark U72 isPal P 1 + 0P >= 3 + 0P active U71(X1, X2) -> U71(active X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isPal nil() -> mark tt() 2 >= 1 active isPal V -> mark U81 isNePal V 2 + 0V >= 3 + 0V active U72 tt() -> mark tt() 2 >= 1 active U72 X -> U72 active X 2 + 1X >= 2 + 1X active U61 tt() -> mark tt() 2 >= 1 active U61 X -> U61 active X 2 + 1X >= 2 + 1X active U51(tt(), V2) -> mark U52 isList V2 2 + 0V2 >= 3 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active U52 tt() -> mark tt() 2 >= 1 active U52 X -> U52 active X 2 + 1X >= 2 + 1X active U41(tt(), V2) -> mark U42 isNeList V2 2 + 0V2 >= 3 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 2 + 0V >= 3 + 0V active U42 tt() -> mark tt() 2 >= 1 active U42 X -> U42 active X 2 + 1X >= 2 + 1X active U31 tt() -> mark tt() 2 >= 1 active U31 X -> U31 active X 2 + 1X >= 2 + 1X active U21(tt(), V2) -> mark U22 isList V2 2 + 0V2 >= 3 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isList nil() -> mark tt() 2 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 2 + 0V >= 3 + 0V active U22 tt() -> mark tt() 2 >= 1 active U22 X -> U22 active X 2 + 1X >= 2 + 1X active U11 tt() -> mark tt() 2 >= 1 active U11 X -> U11 active X 2 + 1X >= 2 + 1X active __(nil(), X) -> mark X 2 + 1X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 3 + 1X + 1Y + 1Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X, nil()) -> mark X 2 + 1X >= 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: {U61# mark X -> U61# X, U61# ok X -> U61# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = 0, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [mark](x0) = x0, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U61#](x0) = x0 Strict: U61# ok X -> U61# X 1 + 1X >= 0 + 1X U61# mark X -> U61# X 0 + 1X >= 0 + 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 1X >= 1 + 1X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 2 + 0P + 1I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal V 0 + 0V >= 2 + 0V active U72 tt() -> mark tt() 0 >= 0 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 2 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 2 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 0 + 1X 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 + 0X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 0 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(X1, mark X2) -> mark __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 SCCS (1): Scc: {U61# mark X -> U61# X} SCC (1): Strict: {U61# mark X -> U61# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = 0, [mark](x0) = x0 + 1, [active](x0) = x0 + 1, [U11](x0) = x0 + 1, [U22](x0) = x0 + 1, [isList](x0) = 1, [U31](x0) = x0 + 1, [U42](x0) = x0 + 1, [isNeList](x0) = 1, [U52](x0) = x0 + 1, [U61](x0) = x0 + 1, [U72](x0) = x0 + 1, [isPal](x0) = 1, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 0, [u] = 1, [U61#](x0) = x0 Strict: U61# mark X -> U61# X 1 + 1X >= 0 + 1X Weak: top ok X -> top active X 1 + 0X >= 2 + 1X top mark X -> top proper X 2 + 1X >= 2 + 1X proper u() -> ok u() 2 >= 0 proper o() -> ok o() 1 >= 0 proper i() -> ok i() 2 >= 0 proper e() -> ok e() 2 >= 0 proper a() -> ok a() 2 >= 0 proper isNePal X -> isNePal proper X 2 + 0X >= 1 + 0X proper isQid X -> isQid proper X 2 + 0X >= 1 + 0X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 2 + 0X >= 1 + 0X proper U72 X -> U72 proper X 2 + 1X >= 2 + 1X proper U61 X -> U61 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2) -> U51(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper U52 X -> U52 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 0X >= 1 + 0X proper U42 X -> U42 proper X 2 + 1X >= 2 + 1X proper U31 X -> U31 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22 X -> U22 proper X 2 + 1X >= 2 + 1X proper U11 X -> U11 proper X 2 + 1X >= 2 + 1X proper tt() -> ok tt() 1 >= 0 proper nil() -> ok nil() 1 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 0 + 0X isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U81 ok X -> ok U81 X 1 + 0X >= 0 + 0X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal 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 X -> ok U61 X 1 + 0X >= 0 + 0X U61 mark X -> mark U61 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 1 + 0X >= 0 + 0X U52 mark X -> mark U52 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U42 ok X -> ok U42 X 1 + 0X >= 0 + 0X U42 mark X -> mark U42 X 2 + 1X >= 2 + 1X U31 ok X -> ok U31 X 1 + 0X >= 0 + 0X U31 mark X -> mark U31 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22 ok X -> ok U22 X 1 + 0X >= 0 + 0X U22 mark X -> mark U22 X 2 + 1X >= 2 + 1X U11 ok X -> ok U11 X 1 + 0X >= 0 + 0X U11 mark X -> mark U11 X 2 + 1X >= 2 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 2 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 2 + 0V >= 3 + 0V active isQid u() -> mark tt() 2 >= 1 active isQid o() -> mark tt() 2 >= 1 active isQid i() -> mark tt() 2 >= 1 active isQid e() -> mark tt() 2 >= 1 active isQid a() -> mark tt() 2 >= 1 active U81 tt() -> mark tt() 2 >= 1 active U81 X -> U81 active X 2 + 1X >= 2 + 1X active U71(tt(), P) -> mark U72 isPal P 1 + 0P >= 3 + 0P active U71(X1, X2) -> U71(active X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isPal nil() -> mark tt() 2 >= 1 active isPal V -> mark U81 isNePal V 2 + 0V >= 3 + 0V active U72 tt() -> mark tt() 2 >= 1 active U72 X -> U72 active X 2 + 1X >= 2 + 1X active U61 tt() -> mark tt() 2 >= 1 active U61 X -> U61 active X 2 + 1X >= 2 + 1X active U51(tt(), V2) -> mark U52 isList V2 2 + 0V2 >= 3 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active U52 tt() -> mark tt() 2 >= 1 active U52 X -> U52 active X 2 + 1X >= 2 + 1X active U41(tt(), V2) -> mark U42 isNeList V2 2 + 0V2 >= 3 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 2 + 0V >= 3 + 0V active U42 tt() -> mark tt() 2 >= 1 active U42 X -> U42 active X 2 + 1X >= 2 + 1X active U31 tt() -> mark tt() 2 >= 1 active U31 X -> U31 active X 2 + 1X >= 2 + 1X active U21(tt(), V2) -> mark U22 isList V2 2 + 0V2 >= 3 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isList nil() -> mark tt() 2 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 2 + 0V >= 3 + 0V active U22 tt() -> mark tt() 2 >= 1 active U22 X -> U22 active X 2 + 1X >= 2 + 1X active U11 tt() -> mark tt() 2 >= 1 active U11 X -> U11 active X 2 + 1X >= 2 + 1X active __(nil(), X) -> mark X 2 + 1X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 3 + 1X + 1Y + 1Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X, nil()) -> mark X 2 + 1X >= 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: {U52# mark X -> U52# X, U52# ok X -> U52# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = 0, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [mark](x0) = x0, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U52#](x0) = x0 Strict: U52# ok X -> U52# X 1 + 1X >= 0 + 1X U52# mark X -> U52# X 0 + 1X >= 0 + 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 1X >= 1 + 1X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 2 + 0P + 1I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal V 0 + 0V >= 2 + 0V active U72 tt() -> mark tt() 0 >= 0 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 2 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 2 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 0 + 1X 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 + 0X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 0 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(X1, mark X2) -> mark __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 SCCS (1): Scc: {U52# mark X -> U52# X} SCC (1): Strict: {U52# mark X -> U52# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = 0, [mark](x0) = x0 + 1, [active](x0) = x0 + 1, [U11](x0) = x0 + 1, [U22](x0) = x0 + 1, [isList](x0) = 1, [U31](x0) = x0 + 1, [U42](x0) = x0 + 1, [isNeList](x0) = 1, [U52](x0) = x0 + 1, [U61](x0) = x0 + 1, [U72](x0) = x0 + 1, [isPal](x0) = 1, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 0, [u] = 1, [U52#](x0) = x0 Strict: U52# mark X -> U52# X 1 + 1X >= 0 + 1X Weak: top ok X -> top active X 1 + 0X >= 2 + 1X top mark X -> top proper X 2 + 1X >= 2 + 1X proper u() -> ok u() 2 >= 0 proper o() -> ok o() 1 >= 0 proper i() -> ok i() 2 >= 0 proper e() -> ok e() 2 >= 0 proper a() -> ok a() 2 >= 0 proper isNePal X -> isNePal proper X 2 + 0X >= 1 + 0X proper isQid X -> isQid proper X 2 + 0X >= 1 + 0X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 2 + 0X >= 1 + 0X proper U72 X -> U72 proper X 2 + 1X >= 2 + 1X proper U61 X -> U61 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2) -> U51(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper U52 X -> U52 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 0X >= 1 + 0X proper U42 X -> U42 proper X 2 + 1X >= 2 + 1X proper U31 X -> U31 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22 X -> U22 proper X 2 + 1X >= 2 + 1X proper U11 X -> U11 proper X 2 + 1X >= 2 + 1X proper tt() -> ok tt() 1 >= 0 proper nil() -> ok nil() 1 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 0 + 0X isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U81 ok X -> ok U81 X 1 + 0X >= 0 + 0X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal 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 X -> ok U61 X 1 + 0X >= 0 + 0X U61 mark X -> mark U61 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 1 + 0X >= 0 + 0X U52 mark X -> mark U52 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U42 ok X -> ok U42 X 1 + 0X >= 0 + 0X U42 mark X -> mark U42 X 2 + 1X >= 2 + 1X U31 ok X -> ok U31 X 1 + 0X >= 0 + 0X U31 mark X -> mark U31 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22 ok X -> ok U22 X 1 + 0X >= 0 + 0X U22 mark X -> mark U22 X 2 + 1X >= 2 + 1X U11 ok X -> ok U11 X 1 + 0X >= 0 + 0X U11 mark X -> mark U11 X 2 + 1X >= 2 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 2 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 2 + 0V >= 3 + 0V active isQid u() -> mark tt() 2 >= 1 active isQid o() -> mark tt() 2 >= 1 active isQid i() -> mark tt() 2 >= 1 active isQid e() -> mark tt() 2 >= 1 active isQid a() -> mark tt() 2 >= 1 active U81 tt() -> mark tt() 2 >= 1 active U81 X -> U81 active X 2 + 1X >= 2 + 1X active U71(tt(), P) -> mark U72 isPal P 1 + 0P >= 3 + 0P active U71(X1, X2) -> U71(active X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isPal nil() -> mark tt() 2 >= 1 active isPal V -> mark U81 isNePal V 2 + 0V >= 3 + 0V active U72 tt() -> mark tt() 2 >= 1 active U72 X -> U72 active X 2 + 1X >= 2 + 1X active U61 tt() -> mark tt() 2 >= 1 active U61 X -> U61 active X 2 + 1X >= 2 + 1X active U51(tt(), V2) -> mark U52 isList V2 2 + 0V2 >= 3 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active U52 tt() -> mark tt() 2 >= 1 active U52 X -> U52 active X 2 + 1X >= 2 + 1X active U41(tt(), V2) -> mark U42 isNeList V2 2 + 0V2 >= 3 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 2 + 0V >= 3 + 0V active U42 tt() -> mark tt() 2 >= 1 active U42 X -> U42 active X 2 + 1X >= 2 + 1X active U31 tt() -> mark tt() 2 >= 1 active U31 X -> U31 active X 2 + 1X >= 2 + 1X active U21(tt(), V2) -> mark U22 isList V2 2 + 0V2 >= 3 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isList nil() -> mark tt() 2 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 2 + 0V >= 3 + 0V active U22 tt() -> mark tt() 2 >= 1 active U22 X -> U22 active X 2 + 1X >= 2 + 1X active U11 tt() -> mark tt() 2 >= 1 active U11 X -> U11 active X 2 + 1X >= 2 + 1X active __(nil(), X) -> mark X 2 + 1X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 3 + 1X + 1Y + 1Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X, nil()) -> mark X 2 + 1X >= 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) -> U51#(X1, X2), U51#(ok X1, ok X2) -> U51#(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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = x0 + 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = x0 + 1, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](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) = x0 Strict: U51#(ok X1, ok X2) -> U51#(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 U51#(mark X1, X2) -> U51#(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() 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 isNePal X -> isNePal proper X 1 + 0X >= 1 + 0X proper isQid X -> isQid proper X 1 + 1X >= 1 + 1X proper U81 X -> U81 proper X 1 + 1X >= 1 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 1X2 proper isPal X -> isPal proper X 1 + 1X >= 1 + 1X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 1 + 1X >= 1 + 1X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isList X -> isList proper X 1 + 1X >= 1 + 1X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 1 >= 2 proper nil() -> ok nil() 1 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 1 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 1 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 1 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 1 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 2 + 1X >= 2 + 1X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 1 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 1 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 2 + 1P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 1 + 0V 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 U81 tt() -> mark tt() 0 >= 2 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 1 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U81 isNePal V 0 + 0V >= 3 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 2 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 1 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 2 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 1 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 1 + 0V active U42 tt() -> mark tt() 0 >= 2 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 2 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 1 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isList V -> mark U11 isNeList V 0 + 0V >= 1 + 0V active U22 tt() -> mark tt() 0 >= 2 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 2 active U11 X -> U11 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) -> U51#(X1, X2)} SCC (1): Strict: {U51#(mark X1, X2) -> U51#(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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = 0, [mark](x0) = x0 + 1, [active](x0) = x0 + 1, [U11](x0) = x0 + 1, [U22](x0) = x0 + 1, [isList](x0) = 1, [U31](x0) = x0 + 1, [U42](x0) = x0 + 1, [isNeList](x0) = 1, [U52](x0) = x0 + 1, [U61](x0) = x0 + 1, [U72](x0) = x0 + 1, [isPal](x0) = 1, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 0, [u] = 1, [U51#](x0, x1) = x0 Strict: U51#(mark X1, X2) -> U51#(X1, X2) 1 + 1X1 + 0X2 >= 0 + 1X1 + 0X2 Weak: top ok X -> top active X 1 + 0X >= 2 + 1X top mark X -> top proper X 2 + 1X >= 2 + 1X proper u() -> ok u() 2 >= 0 proper o() -> ok o() 1 >= 0 proper i() -> ok i() 2 >= 0 proper e() -> ok e() 2 >= 0 proper a() -> ok a() 2 >= 0 proper isNePal X -> isNePal proper X 2 + 0X >= 1 + 0X proper isQid X -> isQid proper X 2 + 0X >= 1 + 0X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 2 + 0X >= 1 + 0X proper U72 X -> U72 proper X 2 + 1X >= 2 + 1X proper U61 X -> U61 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2) -> U51(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper U52 X -> U52 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 0X >= 1 + 0X proper U42 X -> U42 proper X 2 + 1X >= 2 + 1X proper U31 X -> U31 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22 X -> U22 proper X 2 + 1X >= 2 + 1X proper U11 X -> U11 proper X 2 + 1X >= 2 + 1X proper tt() -> ok tt() 1 >= 0 proper nil() -> ok nil() 1 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 0 + 0X isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U81 ok X -> ok U81 X 1 + 0X >= 0 + 0X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal 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 X -> ok U61 X 1 + 0X >= 0 + 0X U61 mark X -> mark U61 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 1 + 0X >= 0 + 0X U52 mark X -> mark U52 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U42 ok X -> ok U42 X 1 + 0X >= 0 + 0X U42 mark X -> mark U42 X 2 + 1X >= 2 + 1X U31 ok X -> ok U31 X 1 + 0X >= 0 + 0X U31 mark X -> mark U31 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22 ok X -> ok U22 X 1 + 0X >= 0 + 0X U22 mark X -> mark U22 X 2 + 1X >= 2 + 1X U11 ok X -> ok U11 X 1 + 0X >= 0 + 0X U11 mark X -> mark U11 X 2 + 1X >= 2 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 2 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 2 + 0V >= 3 + 0V active isQid u() -> mark tt() 2 >= 1 active isQid o() -> mark tt() 2 >= 1 active isQid i() -> mark tt() 2 >= 1 active isQid e() -> mark tt() 2 >= 1 active isQid a() -> mark tt() 2 >= 1 active U81 tt() -> mark tt() 2 >= 1 active U81 X -> U81 active X 2 + 1X >= 2 + 1X active U71(tt(), P) -> mark U72 isPal P 1 + 0P >= 3 + 0P active U71(X1, X2) -> U71(active X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isPal nil() -> mark tt() 2 >= 1 active isPal V -> mark U81 isNePal V 2 + 0V >= 3 + 0V active U72 tt() -> mark tt() 2 >= 1 active U72 X -> U72 active X 2 + 1X >= 2 + 1X active U61 tt() -> mark tt() 2 >= 1 active U61 X -> U61 active X 2 + 1X >= 2 + 1X active U51(tt(), V2) -> mark U52 isList V2 2 + 0V2 >= 3 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active U52 tt() -> mark tt() 2 >= 1 active U52 X -> U52 active X 2 + 1X >= 2 + 1X active U41(tt(), V2) -> mark U42 isNeList V2 2 + 0V2 >= 3 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 2 + 0V >= 3 + 0V active U42 tt() -> mark tt() 2 >= 1 active U42 X -> U42 active X 2 + 1X >= 2 + 1X active U31 tt() -> mark tt() 2 >= 1 active U31 X -> U31 active X 2 + 1X >= 2 + 1X active U21(tt(), V2) -> mark U22 isList V2 2 + 0V2 >= 3 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isList nil() -> mark tt() 2 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 2 + 0V >= 3 + 0V active U22 tt() -> mark tt() 2 >= 1 active U22 X -> U22 active X 2 + 1X >= 2 + 1X active U11 tt() -> mark tt() 2 >= 1 active U11 X -> U11 active X 2 + 1X >= 2 + 1X active __(nil(), X) -> mark X 2 + 1X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 3 + 1X + 1Y + 1Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X, nil()) -> mark X 2 + 1X >= 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) -> U41#(X1, X2), U41#(ok X1, ok X2) -> U41#(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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = x0 + 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = x0 + 1, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](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) = x0 Strict: U41#(ok X1, ok X2) -> U41#(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 U41#(mark X1, X2) -> U41#(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() 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 isNePal X -> isNePal proper X 1 + 0X >= 1 + 0X proper isQid X -> isQid proper X 1 + 1X >= 1 + 1X proper U81 X -> U81 proper X 1 + 1X >= 1 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 1X2 proper isPal X -> isPal proper X 1 + 1X >= 1 + 1X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 1 + 1X >= 1 + 1X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isList X -> isList proper X 1 + 1X >= 1 + 1X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 1 >= 2 proper nil() -> ok nil() 1 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 1 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 1 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 1 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 1 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 2 + 1X >= 2 + 1X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 1 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 1 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 2 + 1P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 1 + 0V 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 U81 tt() -> mark tt() 0 >= 2 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 1 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U81 isNePal V 0 + 0V >= 3 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 2 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 1 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 2 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 1 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 1 + 0V active U42 tt() -> mark tt() 0 >= 2 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 2 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 1 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isList V -> mark U11 isNeList V 0 + 0V >= 1 + 0V active U22 tt() -> mark tt() 0 >= 2 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 2 active U11 X -> U11 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) -> U41#(X1, X2)} SCC (1): Strict: {U41#(mark X1, X2) -> U41#(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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = 0, [mark](x0) = x0 + 1, [active](x0) = x0 + 1, [U11](x0) = x0 + 1, [U22](x0) = x0 + 1, [isList](x0) = 1, [U31](x0) = x0 + 1, [U42](x0) = x0 + 1, [isNeList](x0) = 1, [U52](x0) = x0 + 1, [U61](x0) = x0 + 1, [U72](x0) = x0 + 1, [isPal](x0) = 1, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 0, [u] = 1, [U41#](x0, x1) = x0 Strict: U41#(mark X1, X2) -> U41#(X1, X2) 1 + 1X1 + 0X2 >= 0 + 1X1 + 0X2 Weak: top ok X -> top active X 1 + 0X >= 2 + 1X top mark X -> top proper X 2 + 1X >= 2 + 1X proper u() -> ok u() 2 >= 0 proper o() -> ok o() 1 >= 0 proper i() -> ok i() 2 >= 0 proper e() -> ok e() 2 >= 0 proper a() -> ok a() 2 >= 0 proper isNePal X -> isNePal proper X 2 + 0X >= 1 + 0X proper isQid X -> isQid proper X 2 + 0X >= 1 + 0X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 2 + 0X >= 1 + 0X proper U72 X -> U72 proper X 2 + 1X >= 2 + 1X proper U61 X -> U61 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2) -> U51(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper U52 X -> U52 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 0X >= 1 + 0X proper U42 X -> U42 proper X 2 + 1X >= 2 + 1X proper U31 X -> U31 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22 X -> U22 proper X 2 + 1X >= 2 + 1X proper U11 X -> U11 proper X 2 + 1X >= 2 + 1X proper tt() -> ok tt() 1 >= 0 proper nil() -> ok nil() 1 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 0 + 0X isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U81 ok X -> ok U81 X 1 + 0X >= 0 + 0X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal 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 X -> ok U61 X 1 + 0X >= 0 + 0X U61 mark X -> mark U61 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 1 + 0X >= 0 + 0X U52 mark X -> mark U52 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U42 ok X -> ok U42 X 1 + 0X >= 0 + 0X U42 mark X -> mark U42 X 2 + 1X >= 2 + 1X U31 ok X -> ok U31 X 1 + 0X >= 0 + 0X U31 mark X -> mark U31 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22 ok X -> ok U22 X 1 + 0X >= 0 + 0X U22 mark X -> mark U22 X 2 + 1X >= 2 + 1X U11 ok X -> ok U11 X 1 + 0X >= 0 + 0X U11 mark X -> mark U11 X 2 + 1X >= 2 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 2 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 2 + 0V >= 3 + 0V active isQid u() -> mark tt() 2 >= 1 active isQid o() -> mark tt() 2 >= 1 active isQid i() -> mark tt() 2 >= 1 active isQid e() -> mark tt() 2 >= 1 active isQid a() -> mark tt() 2 >= 1 active U81 tt() -> mark tt() 2 >= 1 active U81 X -> U81 active X 2 + 1X >= 2 + 1X active U71(tt(), P) -> mark U72 isPal P 1 + 0P >= 3 + 0P active U71(X1, X2) -> U71(active X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isPal nil() -> mark tt() 2 >= 1 active isPal V -> mark U81 isNePal V 2 + 0V >= 3 + 0V active U72 tt() -> mark tt() 2 >= 1 active U72 X -> U72 active X 2 + 1X >= 2 + 1X active U61 tt() -> mark tt() 2 >= 1 active U61 X -> U61 active X 2 + 1X >= 2 + 1X active U51(tt(), V2) -> mark U52 isList V2 2 + 0V2 >= 3 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active U52 tt() -> mark tt() 2 >= 1 active U52 X -> U52 active X 2 + 1X >= 2 + 1X active U41(tt(), V2) -> mark U42 isNeList V2 2 + 0V2 >= 3 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 2 + 0V >= 3 + 0V active U42 tt() -> mark tt() 2 >= 1 active U42 X -> U42 active X 2 + 1X >= 2 + 1X active U31 tt() -> mark tt() 2 >= 1 active U31 X -> U31 active X 2 + 1X >= 2 + 1X active U21(tt(), V2) -> mark U22 isList V2 2 + 0V2 >= 3 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isList nil() -> mark tt() 2 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 2 + 0V >= 3 + 0V active U22 tt() -> mark tt() 2 >= 1 active U22 X -> U22 active X 2 + 1X >= 2 + 1X active U11 tt() -> mark tt() 2 >= 1 active U11 X -> U11 active X 2 + 1X >= 2 + 1X active __(nil(), X) -> mark X 2 + 1X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 3 + 1X + 1Y + 1Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X, nil()) -> mark X 2 + 1X >= 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = x0 + 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = x0 + 1, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = x0, [ok](x0) = x0 + 1, [top](x0) = x0 + 1, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [isNeList#](x0) = x0 Strict: isNeList# ok X -> isNeList# X 1 + 1X >= 0 + 1X Weak: top ok X -> top active X 2 + 1X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 1X 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 isNePal X -> isNePal proper X 1 + 0X >= 1 + 0X proper isQid X -> isQid proper X 1 + 1X >= 1 + 1X proper U81 X -> U81 proper X 1 + 1X >= 1 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isPal X -> isPal proper X 1 + 1X >= 1 + 1X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 1 + 1X >= 1 + 1X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isList X -> isList proper X 1 + 1X >= 1 + 1X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 1 >= 2 proper nil() -> ok nil() 1 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 1 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 1 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 1 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 1 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 2 + 1X >= 2 + 1X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 1 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 1 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 3 + 0P + 1I active isNePal V -> mark U61 isQid V 0 + 0V >= 1 + 0V 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 U81 tt() -> mark tt() 0 >= 2 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 1 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U81 isNePal V 0 + 0V >= 3 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 2 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 1 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 2 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 1 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 1 + 0V active U42 tt() -> mark tt() 0 >= 2 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 2 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 1 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isList V -> mark U11 isNeList V 0 + 0V >= 1 + 0V active U22 tt() -> mark tt() 0 >= 2 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 2 active U11 X -> U11 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 X -> U42# X, U42# ok X -> U42# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = 0, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [mark](x0) = x0, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U42#](x0) = x0 Strict: U42# ok X -> U42# X 1 + 1X >= 0 + 1X U42# mark X -> U42# X 0 + 1X >= 0 + 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 1X >= 1 + 1X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 2 + 0P + 1I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal V 0 + 0V >= 2 + 0V active U72 tt() -> mark tt() 0 >= 0 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 2 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 2 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 0 + 1X 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 + 0X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 0 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(X1, mark X2) -> mark __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 SCCS (1): Scc: {U42# mark X -> U42# X} SCC (1): Strict: {U42# mark X -> U42# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = 0, [mark](x0) = x0 + 1, [active](x0) = x0 + 1, [U11](x0) = x0 + 1, [U22](x0) = x0 + 1, [isList](x0) = 1, [U31](x0) = x0 + 1, [U42](x0) = x0 + 1, [isNeList](x0) = 1, [U52](x0) = x0 + 1, [U61](x0) = x0 + 1, [U72](x0) = x0 + 1, [isPal](x0) = 1, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 0, [u] = 1, [U42#](x0) = x0 Strict: U42# mark X -> U42# X 1 + 1X >= 0 + 1X Weak: top ok X -> top active X 1 + 0X >= 2 + 1X top mark X -> top proper X 2 + 1X >= 2 + 1X proper u() -> ok u() 2 >= 0 proper o() -> ok o() 1 >= 0 proper i() -> ok i() 2 >= 0 proper e() -> ok e() 2 >= 0 proper a() -> ok a() 2 >= 0 proper isNePal X -> isNePal proper X 2 + 0X >= 1 + 0X proper isQid X -> isQid proper X 2 + 0X >= 1 + 0X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 2 + 0X >= 1 + 0X proper U72 X -> U72 proper X 2 + 1X >= 2 + 1X proper U61 X -> U61 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2) -> U51(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper U52 X -> U52 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 0X >= 1 + 0X proper U42 X -> U42 proper X 2 + 1X >= 2 + 1X proper U31 X -> U31 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22 X -> U22 proper X 2 + 1X >= 2 + 1X proper U11 X -> U11 proper X 2 + 1X >= 2 + 1X proper tt() -> ok tt() 1 >= 0 proper nil() -> ok nil() 1 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 0 + 0X isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U81 ok X -> ok U81 X 1 + 0X >= 0 + 0X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal 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 X -> ok U61 X 1 + 0X >= 0 + 0X U61 mark X -> mark U61 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 1 + 0X >= 0 + 0X U52 mark X -> mark U52 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U42 ok X -> ok U42 X 1 + 0X >= 0 + 0X U42 mark X -> mark U42 X 2 + 1X >= 2 + 1X U31 ok X -> ok U31 X 1 + 0X >= 0 + 0X U31 mark X -> mark U31 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22 ok X -> ok U22 X 1 + 0X >= 0 + 0X U22 mark X -> mark U22 X 2 + 1X >= 2 + 1X U11 ok X -> ok U11 X 1 + 0X >= 0 + 0X U11 mark X -> mark U11 X 2 + 1X >= 2 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 2 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 2 + 0V >= 3 + 0V active isQid u() -> mark tt() 2 >= 1 active isQid o() -> mark tt() 2 >= 1 active isQid i() -> mark tt() 2 >= 1 active isQid e() -> mark tt() 2 >= 1 active isQid a() -> mark tt() 2 >= 1 active U81 tt() -> mark tt() 2 >= 1 active U81 X -> U81 active X 2 + 1X >= 2 + 1X active U71(tt(), P) -> mark U72 isPal P 1 + 0P >= 3 + 0P active U71(X1, X2) -> U71(active X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isPal nil() -> mark tt() 2 >= 1 active isPal V -> mark U81 isNePal V 2 + 0V >= 3 + 0V active U72 tt() -> mark tt() 2 >= 1 active U72 X -> U72 active X 2 + 1X >= 2 + 1X active U61 tt() -> mark tt() 2 >= 1 active U61 X -> U61 active X 2 + 1X >= 2 + 1X active U51(tt(), V2) -> mark U52 isList V2 2 + 0V2 >= 3 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active U52 tt() -> mark tt() 2 >= 1 active U52 X -> U52 active X 2 + 1X >= 2 + 1X active U41(tt(), V2) -> mark U42 isNeList V2 2 + 0V2 >= 3 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 2 + 0V >= 3 + 0V active U42 tt() -> mark tt() 2 >= 1 active U42 X -> U42 active X 2 + 1X >= 2 + 1X active U31 tt() -> mark tt() 2 >= 1 active U31 X -> U31 active X 2 + 1X >= 2 + 1X active U21(tt(), V2) -> mark U22 isList V2 2 + 0V2 >= 3 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isList nil() -> mark tt() 2 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 2 + 0V >= 3 + 0V active U22 tt() -> mark tt() 2 >= 1 active U22 X -> U22 active X 2 + 1X >= 2 + 1X active U11 tt() -> mark tt() 2 >= 1 active U11 X -> U11 active X 2 + 1X >= 2 + 1X active __(nil(), X) -> mark X 2 + 1X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 3 + 1X + 1Y + 1Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X, nil()) -> mark X 2 + 1X >= 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 X -> U31# X, U31# ok X -> U31# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = 0, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [mark](x0) = x0, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U31#](x0) = x0 Strict: U31# ok X -> U31# X 1 + 1X >= 0 + 1X U31# mark X -> U31# X 0 + 1X >= 0 + 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 1X >= 1 + 1X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 2 + 0P + 1I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal V 0 + 0V >= 2 + 0V active U72 tt() -> mark tt() 0 >= 0 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 2 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 2 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 0 + 1X 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 + 0X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 0 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(X1, mark X2) -> mark __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 SCCS (1): Scc: {U31# mark X -> U31# X} SCC (1): Strict: {U31# mark X -> U31# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = 0, [mark](x0) = x0 + 1, [active](x0) = x0 + 1, [U11](x0) = x0 + 1, [U22](x0) = x0 + 1, [isList](x0) = 1, [U31](x0) = x0 + 1, [U42](x0) = x0 + 1, [isNeList](x0) = 1, [U52](x0) = x0 + 1, [U61](x0) = x0 + 1, [U72](x0) = x0 + 1, [isPal](x0) = 1, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 0, [u] = 1, [U31#](x0) = x0 Strict: U31# mark X -> U31# X 1 + 1X >= 0 + 1X Weak: top ok X -> top active X 1 + 0X >= 2 + 1X top mark X -> top proper X 2 + 1X >= 2 + 1X proper u() -> ok u() 2 >= 0 proper o() -> ok o() 1 >= 0 proper i() -> ok i() 2 >= 0 proper e() -> ok e() 2 >= 0 proper a() -> ok a() 2 >= 0 proper isNePal X -> isNePal proper X 2 + 0X >= 1 + 0X proper isQid X -> isQid proper X 2 + 0X >= 1 + 0X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 2 + 0X >= 1 + 0X proper U72 X -> U72 proper X 2 + 1X >= 2 + 1X proper U61 X -> U61 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2) -> U51(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper U52 X -> U52 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 0X >= 1 + 0X proper U42 X -> U42 proper X 2 + 1X >= 2 + 1X proper U31 X -> U31 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22 X -> U22 proper X 2 + 1X >= 2 + 1X proper U11 X -> U11 proper X 2 + 1X >= 2 + 1X proper tt() -> ok tt() 1 >= 0 proper nil() -> ok nil() 1 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 0 + 0X isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U81 ok X -> ok U81 X 1 + 0X >= 0 + 0X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal 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 X -> ok U61 X 1 + 0X >= 0 + 0X U61 mark X -> mark U61 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 1 + 0X >= 0 + 0X U52 mark X -> mark U52 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U42 ok X -> ok U42 X 1 + 0X >= 0 + 0X U42 mark X -> mark U42 X 2 + 1X >= 2 + 1X U31 ok X -> ok U31 X 1 + 0X >= 0 + 0X U31 mark X -> mark U31 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22 ok X -> ok U22 X 1 + 0X >= 0 + 0X U22 mark X -> mark U22 X 2 + 1X >= 2 + 1X U11 ok X -> ok U11 X 1 + 0X >= 0 + 0X U11 mark X -> mark U11 X 2 + 1X >= 2 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 2 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 2 + 0V >= 3 + 0V active isQid u() -> mark tt() 2 >= 1 active isQid o() -> mark tt() 2 >= 1 active isQid i() -> mark tt() 2 >= 1 active isQid e() -> mark tt() 2 >= 1 active isQid a() -> mark tt() 2 >= 1 active U81 tt() -> mark tt() 2 >= 1 active U81 X -> U81 active X 2 + 1X >= 2 + 1X active U71(tt(), P) -> mark U72 isPal P 1 + 0P >= 3 + 0P active U71(X1, X2) -> U71(active X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isPal nil() -> mark tt() 2 >= 1 active isPal V -> mark U81 isNePal V 2 + 0V >= 3 + 0V active U72 tt() -> mark tt() 2 >= 1 active U72 X -> U72 active X 2 + 1X >= 2 + 1X active U61 tt() -> mark tt() 2 >= 1 active U61 X -> U61 active X 2 + 1X >= 2 + 1X active U51(tt(), V2) -> mark U52 isList V2 2 + 0V2 >= 3 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active U52 tt() -> mark tt() 2 >= 1 active U52 X -> U52 active X 2 + 1X >= 2 + 1X active U41(tt(), V2) -> mark U42 isNeList V2 2 + 0V2 >= 3 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 2 + 0V >= 3 + 0V active U42 tt() -> mark tt() 2 >= 1 active U42 X -> U42 active X 2 + 1X >= 2 + 1X active U31 tt() -> mark tt() 2 >= 1 active U31 X -> U31 active X 2 + 1X >= 2 + 1X active U21(tt(), V2) -> mark U22 isList V2 2 + 0V2 >= 3 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isList nil() -> mark tt() 2 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 2 + 0V >= 3 + 0V active U22 tt() -> mark tt() 2 >= 1 active U22 X -> U22 active X 2 + 1X >= 2 + 1X active U11 tt() -> mark tt() 2 >= 1 active U11 X -> U11 active X 2 + 1X >= 2 + 1X active __(nil(), X) -> mark X 2 + 1X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 3 + 1X + 1Y + 1Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X, nil()) -> mark X 2 + 1X >= 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) -> U21#(X1, X2), U21#(ok X1, ok X2) -> U21#(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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = x0 + 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = x0 + 1, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](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) = x0 Strict: U21#(ok X1, ok X2) -> U21#(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 U21#(mark X1, X2) -> U21#(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() 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 isNePal X -> isNePal proper X 1 + 0X >= 1 + 0X proper isQid X -> isQid proper X 1 + 1X >= 1 + 1X proper U81 X -> U81 proper X 1 + 1X >= 1 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 1X2 >= 1 + 0X1 + 1X2 proper isPal X -> isPal proper X 1 + 1X >= 1 + 1X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 1 + 1X >= 1 + 1X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isList X -> isList proper X 1 + 1X >= 1 + 1X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 1 >= 2 proper nil() -> ok nil() 1 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 0X1 + 1X2 >= 2 + 0X1 + 1X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 1 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 1 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 1 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 1 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 2 + 1X >= 2 + 1X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 1 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 1 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 2 + 1P + 0I active isNePal V -> mark U61 isQid V 0 + 0V >= 1 + 0V 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 U81 tt() -> mark tt() 0 >= 2 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 1 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U81 isNePal V 0 + 0V >= 3 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 2 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 1 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 2 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 1 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 1 + 0V active U42 tt() -> mark tt() 0 >= 2 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 2 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 1 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isList V -> mark U11 isNeList V 0 + 0V >= 1 + 0V active U22 tt() -> mark tt() 0 >= 2 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 2 active U11 X -> U11 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) -> U21#(X1, X2)} SCC (1): Strict: {U21#(mark X1, X2) -> U21#(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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = 0, [mark](x0) = x0 + 1, [active](x0) = x0 + 1, [U11](x0) = x0 + 1, [U22](x0) = x0 + 1, [isList](x0) = 1, [U31](x0) = x0 + 1, [U42](x0) = x0 + 1, [isNeList](x0) = 1, [U52](x0) = x0 + 1, [U61](x0) = x0 + 1, [U72](x0) = x0 + 1, [isPal](x0) = 1, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 0, [u] = 1, [U21#](x0, x1) = x0 Strict: U21#(mark X1, X2) -> U21#(X1, X2) 1 + 1X1 + 0X2 >= 0 + 1X1 + 0X2 Weak: top ok X -> top active X 1 + 0X >= 2 + 1X top mark X -> top proper X 2 + 1X >= 2 + 1X proper u() -> ok u() 2 >= 0 proper o() -> ok o() 1 >= 0 proper i() -> ok i() 2 >= 0 proper e() -> ok e() 2 >= 0 proper a() -> ok a() 2 >= 0 proper isNePal X -> isNePal proper X 2 + 0X >= 1 + 0X proper isQid X -> isQid proper X 2 + 0X >= 1 + 0X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 2 + 0X >= 1 + 0X proper U72 X -> U72 proper X 2 + 1X >= 2 + 1X proper U61 X -> U61 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2) -> U51(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper U52 X -> U52 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 0X >= 1 + 0X proper U42 X -> U42 proper X 2 + 1X >= 2 + 1X proper U31 X -> U31 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22 X -> U22 proper X 2 + 1X >= 2 + 1X proper U11 X -> U11 proper X 2 + 1X >= 2 + 1X proper tt() -> ok tt() 1 >= 0 proper nil() -> ok nil() 1 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 0 + 0X isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U81 ok X -> ok U81 X 1 + 0X >= 0 + 0X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal 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 X -> ok U61 X 1 + 0X >= 0 + 0X U61 mark X -> mark U61 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 1 + 0X >= 0 + 0X U52 mark X -> mark U52 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U42 ok X -> ok U42 X 1 + 0X >= 0 + 0X U42 mark X -> mark U42 X 2 + 1X >= 2 + 1X U31 ok X -> ok U31 X 1 + 0X >= 0 + 0X U31 mark X -> mark U31 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22 ok X -> ok U22 X 1 + 0X >= 0 + 0X U22 mark X -> mark U22 X 2 + 1X >= 2 + 1X U11 ok X -> ok U11 X 1 + 0X >= 0 + 0X U11 mark X -> mark U11 X 2 + 1X >= 2 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 2 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 2 + 0V >= 3 + 0V active isQid u() -> mark tt() 2 >= 1 active isQid o() -> mark tt() 2 >= 1 active isQid i() -> mark tt() 2 >= 1 active isQid e() -> mark tt() 2 >= 1 active isQid a() -> mark tt() 2 >= 1 active U81 tt() -> mark tt() 2 >= 1 active U81 X -> U81 active X 2 + 1X >= 2 + 1X active U71(tt(), P) -> mark U72 isPal P 1 + 0P >= 3 + 0P active U71(X1, X2) -> U71(active X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isPal nil() -> mark tt() 2 >= 1 active isPal V -> mark U81 isNePal V 2 + 0V >= 3 + 0V active U72 tt() -> mark tt() 2 >= 1 active U72 X -> U72 active X 2 + 1X >= 2 + 1X active U61 tt() -> mark tt() 2 >= 1 active U61 X -> U61 active X 2 + 1X >= 2 + 1X active U51(tt(), V2) -> mark U52 isList V2 2 + 0V2 >= 3 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active U52 tt() -> mark tt() 2 >= 1 active U52 X -> U52 active X 2 + 1X >= 2 + 1X active U41(tt(), V2) -> mark U42 isNeList V2 2 + 0V2 >= 3 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 2 + 0V >= 3 + 0V active U42 tt() -> mark tt() 2 >= 1 active U42 X -> U42 active X 2 + 1X >= 2 + 1X active U31 tt() -> mark tt() 2 >= 1 active U31 X -> U31 active X 2 + 1X >= 2 + 1X active U21(tt(), V2) -> mark U22 isList V2 2 + 0V2 >= 3 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isList nil() -> mark tt() 2 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 2 + 0V >= 3 + 0V active U22 tt() -> mark tt() 2 >= 1 active U22 X -> U22 active X 2 + 1X >= 2 + 1X active U11 tt() -> mark tt() 2 >= 1 active U11 X -> U11 active X 2 + 1X >= 2 + 1X active __(nil(), X) -> mark X 2 + 1X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 3 + 1X + 1Y + 1Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X, nil()) -> mark X 2 + 1X >= 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: {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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = x0 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = x0 + 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = x0 + 1, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = x0, [ok](x0) = x0 + 1, [top](x0) = x0 + 1, [nil] = 1, [tt] = 1, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [isList#](x0) = x0 Strict: isList# ok X -> isList# X 1 + 1X >= 0 + 1X Weak: top ok X -> top active X 2 + 1X >= 1 + 0X top mark X -> top proper X 2 + 1X >= 1 + 1X 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 isNePal X -> isNePal proper X 1 + 0X >= 1 + 0X proper isQid X -> isQid proper X 1 + 1X >= 1 + 1X proper U81 X -> U81 proper X 1 + 1X >= 1 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isPal X -> isPal proper X 1 + 1X >= 1 + 1X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 1 + 1X >= 1 + 1X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 proper isList X -> isList proper X 1 + 1X >= 1 + 1X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 1 >= 2 proper nil() -> ok nil() 1 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 1 + 1X1 + 1X2 >= 1 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 1 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 1 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 1 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 1 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 2 + 1X >= 2 + 1X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 1 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 1 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 3 + 0P + 1I active isNePal V -> mark U61 isQid V 0 + 0V >= 1 + 0V 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 U81 tt() -> mark tt() 0 >= 2 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 1 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U81 isNePal V 0 + 0V >= 3 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 2 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 1 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 2 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 1 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 1 + 0V active U42 tt() -> mark tt() 0 >= 2 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 2 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 1 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isList V -> mark U11 isNeList V 0 + 0V >= 1 + 0V active U22 tt() -> mark tt() 0 >= 2 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 2 active U11 X -> U11 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 X -> U22# X, U22# ok X -> U22# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = 0, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [mark](x0) = x0, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U22#](x0) = x0 Strict: U22# ok X -> U22# X 1 + 1X >= 0 + 1X U22# mark X -> U22# X 0 + 1X >= 0 + 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 1X >= 1 + 1X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 2 + 0P + 1I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal V 0 + 0V >= 2 + 0V active U72 tt() -> mark tt() 0 >= 0 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 2 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 2 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 0 + 1X 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 + 0X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 0 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(X1, mark X2) -> mark __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 SCCS (1): Scc: {U22# mark X -> U22# X} SCC (1): Strict: {U22# mark X -> U22# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = 0, [mark](x0) = x0 + 1, [active](x0) = x0 + 1, [U11](x0) = x0 + 1, [U22](x0) = x0 + 1, [isList](x0) = 1, [U31](x0) = x0 + 1, [U42](x0) = x0 + 1, [isNeList](x0) = 1, [U52](x0) = x0 + 1, [U61](x0) = x0 + 1, [U72](x0) = x0 + 1, [isPal](x0) = 1, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 0, [u] = 1, [U22#](x0) = x0 Strict: U22# mark X -> U22# X 1 + 1X >= 0 + 1X Weak: top ok X -> top active X 1 + 0X >= 2 + 1X top mark X -> top proper X 2 + 1X >= 2 + 1X proper u() -> ok u() 2 >= 0 proper o() -> ok o() 1 >= 0 proper i() -> ok i() 2 >= 0 proper e() -> ok e() 2 >= 0 proper a() -> ok a() 2 >= 0 proper isNePal X -> isNePal proper X 2 + 0X >= 1 + 0X proper isQid X -> isQid proper X 2 + 0X >= 1 + 0X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 2 + 0X >= 1 + 0X proper U72 X -> U72 proper X 2 + 1X >= 2 + 1X proper U61 X -> U61 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2) -> U51(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper U52 X -> U52 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 0X >= 1 + 0X proper U42 X -> U42 proper X 2 + 1X >= 2 + 1X proper U31 X -> U31 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22 X -> U22 proper X 2 + 1X >= 2 + 1X proper U11 X -> U11 proper X 2 + 1X >= 2 + 1X proper tt() -> ok tt() 1 >= 0 proper nil() -> ok nil() 1 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 0 + 0X isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U81 ok X -> ok U81 X 1 + 0X >= 0 + 0X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal 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 X -> ok U61 X 1 + 0X >= 0 + 0X U61 mark X -> mark U61 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 1 + 0X >= 0 + 0X U52 mark X -> mark U52 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U42 ok X -> ok U42 X 1 + 0X >= 0 + 0X U42 mark X -> mark U42 X 2 + 1X >= 2 + 1X U31 ok X -> ok U31 X 1 + 0X >= 0 + 0X U31 mark X -> mark U31 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22 ok X -> ok U22 X 1 + 0X >= 0 + 0X U22 mark X -> mark U22 X 2 + 1X >= 2 + 1X U11 ok X -> ok U11 X 1 + 0X >= 0 + 0X U11 mark X -> mark U11 X 2 + 1X >= 2 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 2 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 2 + 0V >= 3 + 0V active isQid u() -> mark tt() 2 >= 1 active isQid o() -> mark tt() 2 >= 1 active isQid i() -> mark tt() 2 >= 1 active isQid e() -> mark tt() 2 >= 1 active isQid a() -> mark tt() 2 >= 1 active U81 tt() -> mark tt() 2 >= 1 active U81 X -> U81 active X 2 + 1X >= 2 + 1X active U71(tt(), P) -> mark U72 isPal P 1 + 0P >= 3 + 0P active U71(X1, X2) -> U71(active X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isPal nil() -> mark tt() 2 >= 1 active isPal V -> mark U81 isNePal V 2 + 0V >= 3 + 0V active U72 tt() -> mark tt() 2 >= 1 active U72 X -> U72 active X 2 + 1X >= 2 + 1X active U61 tt() -> mark tt() 2 >= 1 active U61 X -> U61 active X 2 + 1X >= 2 + 1X active U51(tt(), V2) -> mark U52 isList V2 2 + 0V2 >= 3 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active U52 tt() -> mark tt() 2 >= 1 active U52 X -> U52 active X 2 + 1X >= 2 + 1X active U41(tt(), V2) -> mark U42 isNeList V2 2 + 0V2 >= 3 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 2 + 0V >= 3 + 0V active U42 tt() -> mark tt() 2 >= 1 active U42 X -> U42 active X 2 + 1X >= 2 + 1X active U31 tt() -> mark tt() 2 >= 1 active U31 X -> U31 active X 2 + 1X >= 2 + 1X active U21(tt(), V2) -> mark U22 isList V2 2 + 0V2 >= 3 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isList nil() -> mark tt() 2 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 2 + 0V >= 3 + 0V active U22 tt() -> mark tt() 2 >= 1 active U22 X -> U22 active X 2 + 1X >= 2 + 1X active U11 tt() -> mark tt() 2 >= 1 active U11 X -> U11 active X 2 + 1X >= 2 + 1X active __(nil(), X) -> mark X 2 + 1X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 3 + 1X + 1Y + 1Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X, nil()) -> mark X 2 + 1X >= 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 X -> U11# X, U11# ok X -> U11# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = 0, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = 0, [U71](x0, x1) = x0 + 1, [mark](x0) = x0, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = 0, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](x0) = 1, [proper](x0) = 0, [ok](x0) = x0 + 1, [top](x0) = 0, [nil] = 1, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 1, [u] = 1, [U11#](x0) = x0 Strict: U11# ok X -> U11# X 1 + 1X >= 0 + 1X U11# mark X -> U11# X 0 + 1X >= 0 + 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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 0 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 1 proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 1 + 1X >= 1 + 1X U71(ok X1, ok X2) -> ok U71(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U71(mark X1, X2) -> mark U71(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 0 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 0 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 0 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 0 + 0X >= 1 + 0X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 0 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 0 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 1 + 1X1 + 0X2 >= 1 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 2 + 0X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 0 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 0 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 2 + 0P + 1I active isNePal V -> mark U61 isQid V 0 + 0V >= 0 + 0V 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 U81 tt() -> mark tt() 0 >= 0 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 0 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isPal nil() -> mark tt() 0 >= 0 active isPal V -> mark U81 isNePal V 0 + 0V >= 2 + 0V active U72 tt() -> mark tt() 0 >= 0 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 0 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 0 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 0 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 0 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 0 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 2 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 0 + 0V active U42 tt() -> mark tt() 0 >= 0 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 0 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 0 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 0 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 2 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 0 + 0V >= 0 + 0V active U22 tt() -> mark tt() 0 >= 0 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 0 active U11 X -> U11 active X 0 + 0X >= 0 + 0X active __(nil(), X) -> mark X 0 + 0X >= 0 + 1X 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 + 0X2 active __(X1, X2) -> __(X1, active X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active __(X, nil()) -> mark X 0 + 0X >= 0 + 1X __(ok X1, ok X2) -> ok __(X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 __(mark X1, X2) -> mark __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 __(X1, mark X2) -> mark __(X1, X2) 0 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 SCCS (1): Scc: {U11# mark X -> U11# X} SCC (1): Strict: {U11# mark X -> U11# 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = 0, [mark](x0) = x0 + 1, [active](x0) = x0 + 1, [U11](x0) = x0 + 1, [U22](x0) = x0 + 1, [isList](x0) = 1, [U31](x0) = x0 + 1, [U42](x0) = x0 + 1, [isNeList](x0) = 1, [U52](x0) = x0 + 1, [U61](x0) = x0 + 1, [U72](x0) = x0 + 1, [isPal](x0) = 1, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 0, [u] = 1, [U11#](x0) = x0 Strict: U11# mark X -> U11# X 1 + 1X >= 0 + 1X Weak: top ok X -> top active X 1 + 0X >= 2 + 1X top mark X -> top proper X 2 + 1X >= 2 + 1X proper u() -> ok u() 2 >= 0 proper o() -> ok o() 1 >= 0 proper i() -> ok i() 2 >= 0 proper e() -> ok e() 2 >= 0 proper a() -> ok a() 2 >= 0 proper isNePal X -> isNePal proper X 2 + 0X >= 1 + 0X proper isQid X -> isQid proper X 2 + 0X >= 1 + 0X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 2 + 0X >= 1 + 0X proper U72 X -> U72 proper X 2 + 1X >= 2 + 1X proper U61 X -> U61 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2) -> U51(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper U52 X -> U52 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 0X >= 1 + 0X proper U42 X -> U42 proper X 2 + 1X >= 2 + 1X proper U31 X -> U31 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22 X -> U22 proper X 2 + 1X >= 2 + 1X proper U11 X -> U11 proper X 2 + 1X >= 2 + 1X proper tt() -> ok tt() 1 >= 0 proper nil() -> ok nil() 1 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 0 + 0X isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U81 ok X -> ok U81 X 1 + 0X >= 0 + 0X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal 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 X -> ok U61 X 1 + 0X >= 0 + 0X U61 mark X -> mark U61 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 1 + 0X >= 0 + 0X U52 mark X -> mark U52 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U42 ok X -> ok U42 X 1 + 0X >= 0 + 0X U42 mark X -> mark U42 X 2 + 1X >= 2 + 1X U31 ok X -> ok U31 X 1 + 0X >= 0 + 0X U31 mark X -> mark U31 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22 ok X -> ok U22 X 1 + 0X >= 0 + 0X U22 mark X -> mark U22 X 2 + 1X >= 2 + 1X U11 ok X -> ok U11 X 1 + 0X >= 0 + 0X U11 mark X -> mark U11 X 2 + 1X >= 2 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 2 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 2 + 0V >= 3 + 0V active isQid u() -> mark tt() 2 >= 1 active isQid o() -> mark tt() 2 >= 1 active isQid i() -> mark tt() 2 >= 1 active isQid e() -> mark tt() 2 >= 1 active isQid a() -> mark tt() 2 >= 1 active U81 tt() -> mark tt() 2 >= 1 active U81 X -> U81 active X 2 + 1X >= 2 + 1X active U71(tt(), P) -> mark U72 isPal P 1 + 0P >= 3 + 0P active U71(X1, X2) -> U71(active X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isPal nil() -> mark tt() 2 >= 1 active isPal V -> mark U81 isNePal V 2 + 0V >= 3 + 0V active U72 tt() -> mark tt() 2 >= 1 active U72 X -> U72 active X 2 + 1X >= 2 + 1X active U61 tt() -> mark tt() 2 >= 1 active U61 X -> U61 active X 2 + 1X >= 2 + 1X active U51(tt(), V2) -> mark U52 isList V2 2 + 0V2 >= 3 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active U52 tt() -> mark tt() 2 >= 1 active U52 X -> U52 active X 2 + 1X >= 2 + 1X active U41(tt(), V2) -> mark U42 isNeList V2 2 + 0V2 >= 3 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 2 + 0V >= 3 + 0V active U42 tt() -> mark tt() 2 >= 1 active U42 X -> U42 active X 2 + 1X >= 2 + 1X active U31 tt() -> mark tt() 2 >= 1 active U31 X -> U31 active X 2 + 1X >= 2 + 1X active U21(tt(), V2) -> mark U22 isList V2 2 + 0V2 >= 3 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isList nil() -> mark tt() 2 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 2 + 0V >= 3 + 0V active U22 tt() -> mark tt() 2 >= 1 active U22 X -> U22 active X 2 + 1X >= 2 + 1X active U11 tt() -> mark tt() 2 >= 1 active U11 X -> U11 active X 2 + 1X >= 2 + 1X active __(nil(), X) -> mark X 2 + 1X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 3 + 1X + 1Y + 1Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X, nil()) -> mark X 2 + 1X >= 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 (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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = x0 + x1 + 1, [mark](x0) = x0 + 1, [active](x0) = 0, [U11](x0) = 0, [U22](x0) = 0, [isList](x0) = x0 + 1, [U31](x0) = 0, [U42](x0) = 0, [isNeList](x0) = x0 + 1, [U52](x0) = 0, [U61](x0) = 0, [U72](x0) = 0, [isPal](x0) = x0 + 1, [U81](x0) = x0 + 1, [isQid](x0) = x0 + 1, [isNePal](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 isNePal X -> isNePal proper X 0 + 0X >= 1 + 0X proper isQid X -> isQid proper X 0 + 0X >= 1 + 0X proper U81 X -> U81 proper X 0 + 0X >= 1 + 0X proper U71(X1, X2) -> U71(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isPal X -> isPal proper X 0 + 0X >= 1 + 0X proper U72 X -> U72 proper X 0 + 0X >= 0 + 0X proper U61 X -> U61 proper X 0 + 0X >= 0 + 0X proper U51(X1, X2) -> U51(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper U52 X -> U52 proper X 0 + 0X >= 0 + 0X proper U41(X1, X2) -> U41(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isNeList X -> isNeList proper X 0 + 0X >= 1 + 0X proper U42 X -> U42 proper X 0 + 0X >= 0 + 0X proper U31 X -> U31 proper X 0 + 0X >= 0 + 0X proper U21(X1, X2) -> U21(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 proper isList X -> isList proper X 0 + 0X >= 1 + 0X proper U22 X -> U22 proper X 0 + 0X >= 0 + 0X proper U11 X -> U11 proper X 0 + 0X >= 0 + 0X proper tt() -> ok tt() 0 >= 2 proper nil() -> ok nil() 0 >= 2 proper __(X1, X2) -> __(proper X1, proper X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 isNePal ok X -> ok isNePal X 1 + 0X >= 2 + 0X isQid ok X -> ok isQid X 2 + 1X >= 2 + 1X U81 ok X -> ok U81 X 2 + 1X >= 2 + 1X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal X 2 + 1X >= 2 + 1X U72 ok X -> ok U72 X 0 + 0X >= 1 + 0X U72 mark X -> mark U72 X 0 + 0X >= 1 + 0X U61 ok X -> ok U61 X 0 + 0X >= 1 + 0X U61 mark X -> mark U61 X 0 + 0X >= 1 + 0X U51(ok X1, ok X2) -> ok U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 0 + 0X >= 1 + 0X U52 mark X -> mark U52 X 0 + 0X >= 1 + 0X U41(ok X1, ok X2) -> ok U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 2 + 1X >= 2 + 1X U42 ok X -> ok U42 X 0 + 0X >= 1 + 0X U42 mark X -> mark U42 X 0 + 0X >= 1 + 0X U31 ok X -> ok U31 X 0 + 0X >= 1 + 0X U31 mark X -> mark U31 X 0 + 0X >= 1 + 0X U21(ok X1, ok X2) -> ok U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 2 + 1X >= 2 + 1X U22 ok X -> ok U22 X 0 + 0X >= 1 + 0X U22 mark X -> mark U22 X 0 + 0X >= 1 + 0X U11 ok X -> ok U11 X 0 + 0X >= 1 + 0X U11 mark X -> mark U11 X 0 + 0X >= 1 + 0X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 0 + 0P + 0I >= 3 + 1P + 1I active isNePal V -> mark U61 isQid V 0 + 0V >= 1 + 0V 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 U81 tt() -> mark tt() 0 >= 2 active U81 X -> U81 active X 0 + 0X >= 1 + 0X active U71(tt(), P) -> mark U72 isPal P 0 + 0P >= 1 + 0P active U71(X1, X2) -> U71(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 1X2 active isPal nil() -> mark tt() 0 >= 2 active isPal V -> mark U81 isNePal V 0 + 0V >= 3 + 0V active U72 tt() -> mark tt() 0 >= 2 active U72 X -> U72 active X 0 + 0X >= 0 + 0X active U61 tt() -> mark tt() 0 >= 2 active U61 X -> U61 active X 0 + 0X >= 0 + 0X active U51(tt(), V2) -> mark U52 isList V2 0 + 0V2 >= 1 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active U52 tt() -> mark tt() 0 >= 2 active U52 X -> U52 active X 0 + 0X >= 0 + 0X active U41(tt(), V2) -> mark U42 isNeList V2 0 + 0V2 >= 1 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isNeList V -> mark U31 isQid V 0 + 0V >= 1 + 0V active U42 tt() -> mark tt() 0 >= 2 active U42 X -> U42 active X 0 + 0X >= 0 + 0X active U31 tt() -> mark tt() 0 >= 2 active U31 X -> U31 active X 0 + 0X >= 0 + 0X active U21(tt(), V2) -> mark U22 isList V2 0 + 0V2 >= 1 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 0 + 0X1 + 0X2 >= 1 + 0X1 + 0X2 active isList nil() -> mark tt() 0 >= 2 active isList __(V1, V2) -> mark U21(isList V1, V2) 0 + 0V2 + 0V1 >= 3 + 0V2 + 1V1 active isList V -> mark U11 isNeList V 0 + 0V >= 1 + 0V active U22 tt() -> mark tt() 0 >= 2 active U22 X -> U22 active X 0 + 0X >= 0 + 0X active U11 tt() -> mark tt() 0 >= 2 active U11 X -> U11 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 U11 X -> U11 active X, active U11 tt() -> mark tt(), active U22 X -> U22 active X, active U22 tt() -> mark tt(), active isList V -> mark U11 isNeList V, active isList __(V1, V2) -> mark U21(isList V1, V2), active isList nil() -> mark tt(), active U21(X1, X2) -> U21(active X1, X2), active U21(tt(), V2) -> mark U22 isList V2, active U31 X -> U31 active X, active U31 tt() -> mark tt(), active U42 X -> U42 active X, active U42 tt() -> mark tt(), active isNeList V -> mark U31 isQid V, active isNeList __(V1, V2) -> mark U41(isList V1, V2), active isNeList __(V1, V2) -> mark U51(isNeList V1, V2), active U41(X1, X2) -> U41(active X1, X2), active U41(tt(), V2) -> mark U42 isNeList V2, active U52 X -> U52 active X, active U52 tt() -> mark tt(), active U51(X1, X2) -> U51(active X1, X2), active U51(tt(), V2) -> mark U52 isList V2, active U61 X -> U61 active X, active U61 tt() -> mark tt(), active U72 X -> U72 active X, active U72 tt() -> mark tt(), active isPal V -> mark U81 isNePal V, active isPal nil() -> mark tt(), active U71(X1, X2) -> U71(active X1, X2), active U71(tt(), P) -> mark U72 isPal P, active U81 X -> U81 active X, active U81 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 isNePal V -> mark U61 isQid V, active isNePal __(I, __(P, I)) -> mark U71(isQid I, P), U11 mark X -> mark U11 X, U11 ok X -> ok U11 X, U22 mark X -> mark U22 X, U22 ok X -> ok U22 X, isList ok X -> ok isList X, U21(mark X1, X2) -> mark U21(X1, X2), U21(ok X1, ok X2) -> ok U21(X1, X2), U31 mark X -> mark U31 X, U31 ok X -> ok U31 X, U42 mark X -> mark U42 X, U42 ok X -> ok U42 X, isNeList ok X -> ok isNeList X, U41(mark X1, X2) -> mark U41(X1, X2), U41(ok X1, ok X2) -> ok U41(X1, X2), U52 mark X -> mark U52 X, U52 ok X -> ok U52 X, U51(mark X1, X2) -> mark U51(X1, X2), U51(ok X1, ok X2) -> ok U51(X1, X2), U61 mark X -> mark U61 X, U61 ok X -> ok U61 X, U72 mark X -> mark U72 X, U72 ok X -> ok U72 X, isPal ok X -> ok isPal X, U71(mark X1, X2) -> mark U71(X1, X2), U71(ok X1, ok X2) -> ok U71(X1, X2), U81 mark X -> mark U81 X, U81 ok X -> ok U81 X, isQid ok X -> ok isQid X, isNePal ok X -> ok isNePal X, proper __(X1, X2) -> __(proper X1, proper X2), proper nil() -> ok nil(), proper tt() -> ok tt(), proper U11 X -> U11 proper X, proper U22 X -> U22 proper X, proper isList X -> isList proper X, proper U21(X1, X2) -> U21(proper X1, proper X2), proper U31 X -> U31 proper X, proper U42 X -> U42 proper X, proper isNeList X -> isNeList proper X, proper U41(X1, X2) -> U41(proper X1, proper X2), proper U52 X -> U52 proper X, proper U51(X1, X2) -> U51(proper X1, proper X2), proper U61 X -> U61 proper X, proper U72 X -> U72 proper X, proper isPal X -> isPal proper X, proper U71(X1, X2) -> U71(proper X1, proper X2), proper U81 X -> U81 proper X, proper isQid X -> isQid proper X, proper isNePal X -> isNePal 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: [__](x0, x1) = x0 + x1 + 1, [U21](x0, x1) = x0 + 1, [U41](x0, x1) = x0 + 1, [U51](x0, x1) = x0 + 1, [U71](x0, x1) = 0, [mark](x0) = x0 + 1, [active](x0) = x0 + 1, [U11](x0) = x0 + 1, [U22](x0) = x0 + 1, [isList](x0) = 1, [U31](x0) = x0 + 1, [U42](x0) = x0 + 1, [isNeList](x0) = 1, [U52](x0) = x0 + 1, [U61](x0) = x0 + 1, [U72](x0) = x0 + 1, [isPal](x0) = 1, [U81](x0) = x0 + 1, [isQid](x0) = 1, [isNePal](x0) = 1, [proper](x0) = x0 + 1, [ok](x0) = 0, [top](x0) = x0 + 1, [nil] = 0, [tt] = 0, [a] = 1, [e] = 1, [i] = 1, [o] = 0, [u] = 1, [__#](x0, x1) = x0 Strict: __#(X1, mark X2) -> __#(X1, X2) 1 + 0X1 + 1X2 >= 0 + 0X1 + 1X2 Weak: top ok X -> top active X 1 + 0X >= 2 + 1X top mark X -> top proper X 2 + 1X >= 2 + 1X proper u() -> ok u() 2 >= 0 proper o() -> ok o() 1 >= 0 proper i() -> ok i() 2 >= 0 proper e() -> ok e() 2 >= 0 proper a() -> ok a() 2 >= 0 proper isNePal X -> isNePal proper X 2 + 0X >= 1 + 0X proper isQid X -> isQid proper X 2 + 0X >= 1 + 0X proper U81 X -> U81 proper X 2 + 1X >= 2 + 1X proper U71(X1, X2) -> U71(proper X1, proper X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 proper isPal X -> isPal proper X 2 + 0X >= 1 + 0X proper U72 X -> U72 proper X 2 + 1X >= 2 + 1X proper U61 X -> U61 proper X 2 + 1X >= 2 + 1X proper U51(X1, X2) -> U51(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper U52 X -> U52 proper X 2 + 1X >= 2 + 1X proper U41(X1, X2) -> U41(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isNeList X -> isNeList proper X 2 + 0X >= 1 + 0X proper U42 X -> U42 proper X 2 + 1X >= 2 + 1X proper U31 X -> U31 proper X 2 + 1X >= 2 + 1X proper U21(X1, X2) -> U21(proper X1, proper X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 proper isList X -> isList proper X 2 + 0X >= 1 + 0X proper U22 X -> U22 proper X 2 + 1X >= 2 + 1X proper U11 X -> U11 proper X 2 + 1X >= 2 + 1X proper tt() -> ok tt() 1 >= 0 proper nil() -> ok nil() 1 >= 0 proper __(X1, X2) -> __(proper X1, proper X2) 2 + 1X1 + 1X2 >= 3 + 1X1 + 1X2 isNePal ok X -> ok isNePal X 1 + 0X >= 0 + 0X isQid ok X -> ok isQid X 1 + 0X >= 0 + 0X U81 ok X -> ok U81 X 1 + 0X >= 0 + 0X U81 mark X -> mark U81 X 2 + 1X >= 2 + 1X 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 isPal ok X -> ok isPal 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 X -> ok U61 X 1 + 0X >= 0 + 0X U61 mark X -> mark U61 X 2 + 1X >= 2 + 1X U51(ok X1, ok X2) -> ok U51(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U51(mark X1, X2) -> mark U51(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 U52 ok X -> ok U52 X 1 + 0X >= 0 + 0X U52 mark X -> mark U52 X 2 + 1X >= 2 + 1X U41(ok X1, ok X2) -> ok U41(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U41(mark X1, X2) -> mark U41(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isNeList ok X -> ok isNeList X 1 + 0X >= 0 + 0X U42 ok X -> ok U42 X 1 + 0X >= 0 + 0X U42 mark X -> mark U42 X 2 + 1X >= 2 + 1X U31 ok X -> ok U31 X 1 + 0X >= 0 + 0X U31 mark X -> mark U31 X 2 + 1X >= 2 + 1X U21(ok X1, ok X2) -> ok U21(X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 U21(mark X1, X2) -> mark U21(X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 isList ok X -> ok isList X 1 + 0X >= 0 + 0X U22 ok X -> ok U22 X 1 + 0X >= 0 + 0X U22 mark X -> mark U22 X 2 + 1X >= 2 + 1X U11 ok X -> ok U11 X 1 + 0X >= 0 + 0X U11 mark X -> mark U11 X 2 + 1X >= 2 + 1X active isNePal __(I, __(P, I)) -> mark U71(isQid I, P) 2 + 0P + 0I >= 1 + 0P + 0I active isNePal V -> mark U61 isQid V 2 + 0V >= 3 + 0V active isQid u() -> mark tt() 2 >= 1 active isQid o() -> mark tt() 2 >= 1 active isQid i() -> mark tt() 2 >= 1 active isQid e() -> mark tt() 2 >= 1 active isQid a() -> mark tt() 2 >= 1 active U81 tt() -> mark tt() 2 >= 1 active U81 X -> U81 active X 2 + 1X >= 2 + 1X active U71(tt(), P) -> mark U72 isPal P 1 + 0P >= 3 + 0P active U71(X1, X2) -> U71(active X1, X2) 1 + 0X1 + 0X2 >= 0 + 0X1 + 0X2 active isPal nil() -> mark tt() 2 >= 1 active isPal V -> mark U81 isNePal V 2 + 0V >= 3 + 0V active U72 tt() -> mark tt() 2 >= 1 active U72 X -> U72 active X 2 + 1X >= 2 + 1X active U61 tt() -> mark tt() 2 >= 1 active U61 X -> U61 active X 2 + 1X >= 2 + 1X active U51(tt(), V2) -> mark U52 isList V2 2 + 0V2 >= 3 + 0V2 active U51(X1, X2) -> U51(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active U52 tt() -> mark tt() 2 >= 1 active U52 X -> U52 active X 2 + 1X >= 2 + 1X active U41(tt(), V2) -> mark U42 isNeList V2 2 + 0V2 >= 3 + 0V2 active U41(X1, X2) -> U41(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isNeList __(V1, V2) -> mark U51(isNeList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList __(V1, V2) -> mark U41(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isNeList V -> mark U31 isQid V 2 + 0V >= 3 + 0V active U42 tt() -> mark tt() 2 >= 1 active U42 X -> U42 active X 2 + 1X >= 2 + 1X active U31 tt() -> mark tt() 2 >= 1 active U31 X -> U31 active X 2 + 1X >= 2 + 1X active U21(tt(), V2) -> mark U22 isList V2 2 + 0V2 >= 3 + 0V2 active U21(X1, X2) -> U21(active X1, X2) 2 + 1X1 + 0X2 >= 2 + 1X1 + 0X2 active isList nil() -> mark tt() 2 >= 1 active isList __(V1, V2) -> mark U21(isList V1, V2) 2 + 0V2 + 0V1 >= 3 + 0V2 + 0V1 active isList V -> mark U11 isNeList V 2 + 0V >= 3 + 0V active U22 tt() -> mark tt() 2 >= 1 active U22 X -> U22 active X 2 + 1X >= 2 + 1X active U11 tt() -> mark tt() 2 >= 1 active U11 X -> U11 active X 2 + 1X >= 2 + 1X active __(nil(), X) -> mark X 2 + 1X >= 1 + 1X active __(__(X, Y), Z) -> mark __(X, __(Y, Z)) 3 + 1X + 1Y + 1Z >= 3 + 1X + 1Y + 1Z active __(X1, X2) -> __(active X1, X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X1, X2) -> __(X1, active X2) 2 + 1X1 + 1X2 >= 2 + 1X1 + 1X2 active __(X, nil()) -> mark X 2 + 1X >= 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