7.35/3.13 YES 7.35/3.15 proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml 7.35/3.15 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 7.35/3.15 7.35/3.15 7.35/3.15 Termination of the given CSR could be proven: 7.35/3.15 7.35/3.15 (0) CSR 7.35/3.15 (1) CSRRRRProof [EQUIVALENT, 144 ms] 7.35/3.15 (2) CSR 7.35/3.15 (3) CSRRRRProof [EQUIVALENT, 18 ms] 7.35/3.15 (4) CSR 7.35/3.15 (5) CSRRRRProof [EQUIVALENT, 43 ms] 7.35/3.15 (6) CSR 7.35/3.15 (7) CSRRRRProof [EQUIVALENT, 22 ms] 7.35/3.15 (8) CSR 7.35/3.15 (9) CSRRRRProof [EQUIVALENT, 17 ms] 7.35/3.15 (10) CSR 7.35/3.15 (11) CSRRRRProof [EQUIVALENT, 0 ms] 7.35/3.15 (12) CSR 7.35/3.15 (13) CSRRRRProof [EQUIVALENT, 11 ms] 7.35/3.15 (14) CSR 7.35/3.15 (15) CSRRRRProof [EQUIVALENT, 0 ms] 7.35/3.15 (16) CSR 7.35/3.15 (17) CSRRRRProof [EQUIVALENT, 8 ms] 7.35/3.15 (18) CSR 7.35/3.15 (19) CSRRRRProof [EQUIVALENT, 0 ms] 7.35/3.15 (20) CSR 7.35/3.15 (21) CSRRRRProof [EQUIVALENT, 0 ms] 7.35/3.15 (22) CSR 7.35/3.15 (23) CSRRRRProof [EQUIVALENT, 6 ms] 7.35/3.15 (24) CSR 7.35/3.15 (25) CSRRRRProof [EQUIVALENT, 0 ms] 7.35/3.15 (26) CSR 7.35/3.15 (27) CSRRRRProof [EQUIVALENT, 0 ms] 7.35/3.15 (28) CSR 7.35/3.15 (29) CSRRRRProof [EQUIVALENT, 0 ms] 7.35/3.15 (30) CSR 7.35/3.15 (31) RisEmptyProof [EQUIVALENT, 0 ms] 7.35/3.15 (32) YES 7.35/3.15 7.35/3.15 7.35/3.15 ---------------------------------------- 7.35/3.15 7.35/3.15 (0) 7.35/3.15 Obligation: 7.35/3.15 Context-sensitive rewrite system: 7.35/3.15 The TRS R consists of the following rules: 7.35/3.15 7.35/3.15 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.15 __(X, nil) -> X 7.35/3.15 __(nil, X) -> X 7.35/3.15 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.15 U12(tt, V) -> U13(isNeList(V)) 7.35/3.15 U13(tt) -> tt 7.35/3.15 U21(tt, V1, V2) -> U22(isPalListKind(V1), V1, V2) 7.35/3.15 U22(tt, V1, V2) -> U23(isPalListKind(V2), V1, V2) 7.35/3.15 U23(tt, V1, V2) -> U24(isPalListKind(V2), V1, V2) 7.35/3.15 U24(tt, V1, V2) -> U25(isList(V1), V2) 7.35/3.15 U25(tt, V2) -> U26(isList(V2)) 7.35/3.15 U26(tt) -> tt 7.35/3.15 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.15 U32(tt, V) -> U33(isQid(V)) 7.35/3.15 U33(tt) -> tt 7.35/3.15 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.15 U42(tt, V1, V2) -> U43(isPalListKind(V2), V1, V2) 7.35/3.15 U43(tt, V1, V2) -> U44(isPalListKind(V2), V1, V2) 7.35/3.15 U44(tt, V1, V2) -> U45(isList(V1), V2) 7.35/3.15 U45(tt, V2) -> U46(isNeList(V2)) 7.35/3.15 U46(tt) -> tt 7.35/3.15 U51(tt, V1, V2) -> U52(isPalListKind(V1), V1, V2) 7.35/3.15 U52(tt, V1, V2) -> U53(isPalListKind(V2), V1, V2) 7.35/3.15 U53(tt, V1, V2) -> U54(isPalListKind(V2), V1, V2) 7.35/3.15 U54(tt, V1, V2) -> U55(isNeList(V1), V2) 7.35/3.15 U55(tt, V2) -> U56(isList(V2)) 7.35/3.15 U56(tt) -> tt 7.35/3.15 U61(tt, V) -> U62(isPalListKind(V), V) 7.35/3.15 U62(tt, V) -> U63(isQid(V)) 7.35/3.15 U63(tt) -> tt 7.35/3.15 U71(tt, I, P) -> U72(isPalListKind(I), P) 7.35/3.15 U72(tt, P) -> U73(isPal(P), P) 7.35/3.15 U73(tt, P) -> U74(isPalListKind(P)) 7.35/3.15 U74(tt) -> tt 7.35/3.15 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.15 U82(tt, V) -> U83(isNePal(V)) 7.35/3.15 U83(tt) -> tt 7.35/3.15 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.15 U92(tt) -> tt 7.35/3.15 isList(V) -> U11(isPalListKind(V), V) 7.35/3.15 isList(nil) -> tt 7.35/3.15 isList(__(V1, V2)) -> U21(isPalListKind(V1), V1, V2) 7.35/3.15 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.15 isNeList(__(V1, V2)) -> U41(isPalListKind(V1), V1, V2) 7.35/3.15 isNeList(__(V1, V2)) -> U51(isPalListKind(V1), V1, V2) 7.35/3.15 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.15 isNePal(__(I, __(P, I))) -> U71(isQid(I), I, P) 7.35/3.15 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.15 isPal(nil) -> tt 7.35/3.15 isPalListKind(a) -> tt 7.35/3.15 isPalListKind(e) -> tt 7.35/3.15 isPalListKind(i) -> tt 7.35/3.15 isPalListKind(nil) -> tt 7.35/3.15 isPalListKind(o) -> tt 7.35/3.15 isPalListKind(u) -> tt 7.35/3.15 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.16 isQid(a) -> tt 7.35/3.16 isQid(e) -> tt 7.35/3.16 isQid(i) -> tt 7.35/3.16 isQid(o) -> tt 7.35/3.16 isQid(u) -> tt 7.35/3.16 7.35/3.16 The replacement map contains the following entries: 7.35/3.16 7.35/3.16 __: {1, 2} 7.35/3.16 nil: empty set 7.35/3.16 U11: {1} 7.35/3.16 tt: empty set 7.35/3.16 U12: {1} 7.35/3.16 isPalListKind: empty set 7.35/3.16 U13: {1} 7.35/3.16 isNeList: empty set 7.35/3.16 U21: {1} 7.35/3.16 U22: {1} 7.35/3.16 U23: {1} 7.35/3.16 U24: {1} 7.35/3.16 U25: {1} 7.35/3.16 isList: empty set 7.35/3.16 U26: {1} 7.35/3.16 U31: {1} 7.35/3.16 U32: {1} 7.35/3.16 U33: {1} 7.35/3.16 isQid: empty set 7.35/3.16 U41: {1} 7.35/3.16 U42: {1} 7.35/3.16 U43: {1} 7.35/3.16 U44: {1} 7.35/3.16 U45: {1} 7.35/3.16 U46: {1} 7.35/3.16 U51: {1} 7.35/3.16 U52: {1} 7.35/3.16 U53: {1} 7.35/3.16 U54: {1} 7.35/3.16 U55: {1} 7.35/3.16 U56: {1} 7.35/3.16 U61: {1} 7.35/3.16 U62: {1} 7.35/3.16 U63: {1} 7.35/3.16 U71: {1} 7.35/3.16 U72: {1} 7.35/3.16 U73: {1} 7.35/3.16 isPal: empty set 7.35/3.16 U74: {1} 7.35/3.16 U81: {1} 7.35/3.16 U82: {1} 7.35/3.16 U83: {1} 7.35/3.16 isNePal: empty set 7.35/3.16 U91: {1} 7.35/3.16 U92: {1} 7.35/3.16 a: empty set 7.35/3.16 e: empty set 7.35/3.16 i: empty set 7.35/3.16 o: empty set 7.35/3.16 u: empty set 7.35/3.16 7.35/3.16 ---------------------------------------- 7.35/3.16 7.35/3.16 (1) CSRRRRProof (EQUIVALENT) 7.35/3.16 The following CSR is given: Context-sensitive rewrite system: 7.35/3.16 The TRS R consists of the following rules: 7.35/3.16 7.35/3.16 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.16 __(X, nil) -> X 7.35/3.16 __(nil, X) -> X 7.35/3.16 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.16 U12(tt, V) -> U13(isNeList(V)) 7.35/3.16 U13(tt) -> tt 7.35/3.16 U21(tt, V1, V2) -> U22(isPalListKind(V1), V1, V2) 7.35/3.16 U22(tt, V1, V2) -> U23(isPalListKind(V2), V1, V2) 7.35/3.16 U23(tt, V1, V2) -> U24(isPalListKind(V2), V1, V2) 7.35/3.16 U24(tt, V1, V2) -> U25(isList(V1), V2) 7.35/3.16 U25(tt, V2) -> U26(isList(V2)) 7.35/3.16 U26(tt) -> tt 7.35/3.16 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.16 U32(tt, V) -> U33(isQid(V)) 7.35/3.16 U33(tt) -> tt 7.35/3.16 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.16 U42(tt, V1, V2) -> U43(isPalListKind(V2), V1, V2) 7.35/3.16 U43(tt, V1, V2) -> U44(isPalListKind(V2), V1, V2) 7.35/3.16 U44(tt, V1, V2) -> U45(isList(V1), V2) 7.35/3.16 U45(tt, V2) -> U46(isNeList(V2)) 7.35/3.16 U46(tt) -> tt 7.35/3.16 U51(tt, V1, V2) -> U52(isPalListKind(V1), V1, V2) 7.35/3.16 U52(tt, V1, V2) -> U53(isPalListKind(V2), V1, V2) 7.35/3.16 U53(tt, V1, V2) -> U54(isPalListKind(V2), V1, V2) 7.35/3.16 U54(tt, V1, V2) -> U55(isNeList(V1), V2) 7.35/3.16 U55(tt, V2) -> U56(isList(V2)) 7.35/3.16 U56(tt) -> tt 7.35/3.16 U61(tt, V) -> U62(isPalListKind(V), V) 7.35/3.16 U62(tt, V) -> U63(isQid(V)) 7.35/3.16 U63(tt) -> tt 7.35/3.16 U71(tt, I, P) -> U72(isPalListKind(I), P) 7.35/3.16 U72(tt, P) -> U73(isPal(P), P) 7.35/3.16 U73(tt, P) -> U74(isPalListKind(P)) 7.35/3.16 U74(tt) -> tt 7.35/3.16 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.16 U82(tt, V) -> U83(isNePal(V)) 7.35/3.16 U83(tt) -> tt 7.35/3.16 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.16 U92(tt) -> tt 7.35/3.16 isList(V) -> U11(isPalListKind(V), V) 7.35/3.16 isList(nil) -> tt 7.35/3.16 isList(__(V1, V2)) -> U21(isPalListKind(V1), V1, V2) 7.35/3.16 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.16 isNeList(__(V1, V2)) -> U41(isPalListKind(V1), V1, V2) 7.35/3.16 isNeList(__(V1, V2)) -> U51(isPalListKind(V1), V1, V2) 7.35/3.16 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.16 isNePal(__(I, __(P, I))) -> U71(isQid(I), I, P) 7.35/3.16 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.16 isPal(nil) -> tt 7.35/3.16 isPalListKind(a) -> tt 7.35/3.16 isPalListKind(e) -> tt 7.35/3.16 isPalListKind(i) -> tt 7.35/3.16 isPalListKind(nil) -> tt 7.35/3.16 isPalListKind(o) -> tt 7.35/3.16 isPalListKind(u) -> tt 7.35/3.16 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.16 isQid(a) -> tt 7.35/3.16 isQid(e) -> tt 7.35/3.16 isQid(i) -> tt 7.35/3.16 isQid(o) -> tt 7.35/3.16 isQid(u) -> tt 7.35/3.16 7.35/3.16 The replacement map contains the following entries: 7.35/3.16 7.35/3.16 __: {1, 2} 7.35/3.16 nil: empty set 7.35/3.16 U11: {1} 7.35/3.16 tt: empty set 7.35/3.16 U12: {1} 7.35/3.16 isPalListKind: empty set 7.35/3.16 U13: {1} 7.35/3.16 isNeList: empty set 7.35/3.16 U21: {1} 7.35/3.16 U22: {1} 7.35/3.16 U23: {1} 7.35/3.16 U24: {1} 7.35/3.16 U25: {1} 7.35/3.16 isList: empty set 7.35/3.16 U26: {1} 7.35/3.16 U31: {1} 7.35/3.16 U32: {1} 7.35/3.16 U33: {1} 7.35/3.16 isQid: empty set 7.35/3.16 U41: {1} 7.35/3.16 U42: {1} 7.35/3.16 U43: {1} 7.35/3.16 U44: {1} 7.35/3.16 U45: {1} 7.35/3.16 U46: {1} 7.35/3.16 U51: {1} 7.35/3.16 U52: {1} 7.35/3.16 U53: {1} 7.35/3.16 U54: {1} 7.35/3.16 U55: {1} 7.35/3.16 U56: {1} 7.35/3.16 U61: {1} 7.35/3.16 U62: {1} 7.35/3.16 U63: {1} 7.35/3.16 U71: {1} 7.35/3.16 U72: {1} 7.35/3.16 U73: {1} 7.35/3.16 isPal: empty set 7.35/3.16 U74: {1} 7.35/3.16 U81: {1} 7.35/3.16 U82: {1} 7.35/3.16 U83: {1} 7.35/3.16 isNePal: empty set 7.35/3.16 U91: {1} 7.35/3.16 U92: {1} 7.35/3.16 a: empty set 7.35/3.16 e: empty set 7.35/3.16 i: empty set 7.35/3.16 o: empty set 7.35/3.16 u: empty set 7.35/3.16 Used ordering: 7.35/3.16 Polynomial interpretation [POLO]: 7.35/3.16 7.35/3.16 POL(U11(x_1, x_2)) = 2*x_1 7.35/3.16 POL(U12(x_1, x_2)) = x_1 7.35/3.16 POL(U13(x_1)) = x_1 7.35/3.16 POL(U21(x_1, x_2, x_3)) = 2*x_1 7.35/3.16 POL(U22(x_1, x_2, x_3)) = x_1 7.35/3.16 POL(U23(x_1, x_2, x_3)) = 2*x_1 7.35/3.16 POL(U24(x_1, x_2, x_3)) = 2*x_1 7.35/3.16 POL(U25(x_1, x_2)) = 2*x_1 7.35/3.16 POL(U26(x_1)) = x_1 7.35/3.16 POL(U31(x_1, x_2)) = 2*x_1 7.35/3.16 POL(U32(x_1, x_2)) = x_1 7.35/3.16 POL(U33(x_1)) = x_1 7.35/3.16 POL(U41(x_1, x_2, x_3)) = 2*x_1 7.35/3.16 POL(U42(x_1, x_2, x_3)) = 2*x_1 7.35/3.16 POL(U43(x_1, x_2, x_3)) = 2*x_1 7.35/3.16 POL(U44(x_1, x_2, x_3)) = 2*x_1 7.35/3.16 POL(U45(x_1, x_2)) = x_1 7.35/3.16 POL(U46(x_1)) = x_1 7.35/3.16 POL(U51(x_1, x_2, x_3)) = 2*x_1 7.35/3.16 POL(U52(x_1, x_2, x_3)) = 2*x_1 7.35/3.16 POL(U53(x_1, x_2, x_3)) = 2*x_1 7.35/3.16 POL(U54(x_1, x_2, x_3)) = 2*x_1 7.35/3.16 POL(U55(x_1, x_2)) = x_1 7.35/3.16 POL(U56(x_1)) = x_1 7.35/3.16 POL(U61(x_1, x_2)) = 2*x_1 7.35/3.16 POL(U62(x_1, x_2)) = x_1 7.35/3.16 POL(U63(x_1)) = x_1 7.35/3.16 POL(U71(x_1, x_2, x_3)) = 2*x_1 7.35/3.16 POL(U72(x_1, x_2)) = 2*x_1 7.35/3.16 POL(U73(x_1, x_2)) = 2*x_1 7.35/3.16 POL(U74(x_1)) = 2*x_1 7.35/3.16 POL(U81(x_1, x_2)) = x_1 7.35/3.16 POL(U82(x_1, x_2)) = 2*x_1 7.35/3.16 POL(U83(x_1)) = x_1 7.35/3.16 POL(U91(x_1, x_2)) = 2*x_1 7.35/3.16 POL(U92(x_1)) = 2*x_1 7.35/3.16 POL(__(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(a) = 0 7.35/3.16 POL(e) = 0 7.35/3.16 POL(i) = 0 7.35/3.16 POL(isList(x_1)) = 0 7.35/3.16 POL(isNeList(x_1)) = 0 7.35/3.16 POL(isNePal(x_1)) = 0 7.35/3.16 POL(isPal(x_1)) = 0 7.35/3.16 POL(isPalListKind(x_1)) = 0 7.35/3.16 POL(isQid(x_1)) = 0 7.35/3.16 POL(nil) = 2 7.35/3.16 POL(o) = 0 7.35/3.16 POL(tt) = 0 7.35/3.16 POL(u) = 0 7.35/3.16 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.35/3.16 7.35/3.16 __(X, nil) -> X 7.35/3.16 __(nil, X) -> X 7.35/3.16 7.35/3.16 7.35/3.16 7.35/3.16 7.35/3.16 ---------------------------------------- 7.35/3.16 7.35/3.16 (2) 7.35/3.16 Obligation: 7.35/3.16 Context-sensitive rewrite system: 7.35/3.16 The TRS R consists of the following rules: 7.35/3.16 7.35/3.16 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.16 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.16 U12(tt, V) -> U13(isNeList(V)) 7.35/3.16 U13(tt) -> tt 7.35/3.16 U21(tt, V1, V2) -> U22(isPalListKind(V1), V1, V2) 7.35/3.16 U22(tt, V1, V2) -> U23(isPalListKind(V2), V1, V2) 7.35/3.16 U23(tt, V1, V2) -> U24(isPalListKind(V2), V1, V2) 7.35/3.16 U24(tt, V1, V2) -> U25(isList(V1), V2) 7.35/3.16 U25(tt, V2) -> U26(isList(V2)) 7.35/3.16 U26(tt) -> tt 7.35/3.16 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.16 U32(tt, V) -> U33(isQid(V)) 7.35/3.16 U33(tt) -> tt 7.35/3.16 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.16 U42(tt, V1, V2) -> U43(isPalListKind(V2), V1, V2) 7.35/3.16 U43(tt, V1, V2) -> U44(isPalListKind(V2), V1, V2) 7.35/3.16 U44(tt, V1, V2) -> U45(isList(V1), V2) 7.35/3.16 U45(tt, V2) -> U46(isNeList(V2)) 7.35/3.16 U46(tt) -> tt 7.35/3.16 U51(tt, V1, V2) -> U52(isPalListKind(V1), V1, V2) 7.35/3.16 U52(tt, V1, V2) -> U53(isPalListKind(V2), V1, V2) 7.35/3.16 U53(tt, V1, V2) -> U54(isPalListKind(V2), V1, V2) 7.35/3.16 U54(tt, V1, V2) -> U55(isNeList(V1), V2) 7.35/3.16 U55(tt, V2) -> U56(isList(V2)) 7.35/3.16 U56(tt) -> tt 7.35/3.16 U61(tt, V) -> U62(isPalListKind(V), V) 7.35/3.16 U62(tt, V) -> U63(isQid(V)) 7.35/3.16 U63(tt) -> tt 7.35/3.16 U71(tt, I, P) -> U72(isPalListKind(I), P) 7.35/3.16 U72(tt, P) -> U73(isPal(P), P) 7.35/3.16 U73(tt, P) -> U74(isPalListKind(P)) 7.35/3.16 U74(tt) -> tt 7.35/3.16 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.16 U82(tt, V) -> U83(isNePal(V)) 7.35/3.16 U83(tt) -> tt 7.35/3.16 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.16 U92(tt) -> tt 7.35/3.16 isList(V) -> U11(isPalListKind(V), V) 7.35/3.16 isList(nil) -> tt 7.35/3.16 isList(__(V1, V2)) -> U21(isPalListKind(V1), V1, V2) 7.35/3.16 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.16 isNeList(__(V1, V2)) -> U41(isPalListKind(V1), V1, V2) 7.35/3.16 isNeList(__(V1, V2)) -> U51(isPalListKind(V1), V1, V2) 7.35/3.16 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.16 isNePal(__(I, __(P, I))) -> U71(isQid(I), I, P) 7.35/3.16 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.16 isPal(nil) -> tt 7.35/3.16 isPalListKind(a) -> tt 7.35/3.16 isPalListKind(e) -> tt 7.35/3.16 isPalListKind(i) -> tt 7.35/3.16 isPalListKind(nil) -> tt 7.35/3.16 isPalListKind(o) -> tt 7.35/3.16 isPalListKind(u) -> tt 7.35/3.16 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.16 isQid(a) -> tt 7.35/3.16 isQid(e) -> tt 7.35/3.16 isQid(i) -> tt 7.35/3.16 isQid(o) -> tt 7.35/3.16 isQid(u) -> tt 7.35/3.16 7.35/3.16 The replacement map contains the following entries: 7.35/3.16 7.35/3.16 __: {1, 2} 7.35/3.16 nil: empty set 7.35/3.16 U11: {1} 7.35/3.16 tt: empty set 7.35/3.16 U12: {1} 7.35/3.16 isPalListKind: empty set 7.35/3.16 U13: {1} 7.35/3.16 isNeList: empty set 7.35/3.16 U21: {1} 7.35/3.16 U22: {1} 7.35/3.16 U23: {1} 7.35/3.16 U24: {1} 7.35/3.16 U25: {1} 7.35/3.16 isList: empty set 7.35/3.16 U26: {1} 7.35/3.16 U31: {1} 7.35/3.16 U32: {1} 7.35/3.16 U33: {1} 7.35/3.16 isQid: empty set 7.35/3.16 U41: {1} 7.35/3.16 U42: {1} 7.35/3.16 U43: {1} 7.35/3.16 U44: {1} 7.35/3.16 U45: {1} 7.35/3.16 U46: {1} 7.35/3.16 U51: {1} 7.35/3.16 U52: {1} 7.35/3.16 U53: {1} 7.35/3.16 U54: {1} 7.35/3.16 U55: {1} 7.35/3.16 U56: {1} 7.35/3.16 U61: {1} 7.35/3.16 U62: {1} 7.35/3.16 U63: {1} 7.35/3.16 U71: {1} 7.35/3.16 U72: {1} 7.35/3.16 U73: {1} 7.35/3.16 isPal: empty set 7.35/3.16 U74: {1} 7.35/3.16 U81: {1} 7.35/3.16 U82: {1} 7.35/3.16 U83: {1} 7.35/3.16 isNePal: empty set 7.35/3.16 U91: {1} 7.35/3.16 U92: {1} 7.35/3.16 a: empty set 7.35/3.16 e: empty set 7.35/3.16 i: empty set 7.35/3.16 o: empty set 7.35/3.16 u: empty set 7.35/3.16 7.35/3.16 ---------------------------------------- 7.35/3.16 7.35/3.16 (3) CSRRRRProof (EQUIVALENT) 7.35/3.16 The following CSR is given: Context-sensitive rewrite system: 7.35/3.16 The TRS R consists of the following rules: 7.35/3.16 7.35/3.16 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.16 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.16 U12(tt, V) -> U13(isNeList(V)) 7.35/3.16 U13(tt) -> tt 7.35/3.16 U21(tt, V1, V2) -> U22(isPalListKind(V1), V1, V2) 7.35/3.16 U22(tt, V1, V2) -> U23(isPalListKind(V2), V1, V2) 7.35/3.16 U23(tt, V1, V2) -> U24(isPalListKind(V2), V1, V2) 7.35/3.16 U24(tt, V1, V2) -> U25(isList(V1), V2) 7.35/3.16 U25(tt, V2) -> U26(isList(V2)) 7.35/3.16 U26(tt) -> tt 7.35/3.16 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.16 U32(tt, V) -> U33(isQid(V)) 7.35/3.16 U33(tt) -> tt 7.35/3.16 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.16 U42(tt, V1, V2) -> U43(isPalListKind(V2), V1, V2) 7.35/3.16 U43(tt, V1, V2) -> U44(isPalListKind(V2), V1, V2) 7.35/3.16 U44(tt, V1, V2) -> U45(isList(V1), V2) 7.35/3.16 U45(tt, V2) -> U46(isNeList(V2)) 7.35/3.16 U46(tt) -> tt 7.35/3.16 U51(tt, V1, V2) -> U52(isPalListKind(V1), V1, V2) 7.35/3.16 U52(tt, V1, V2) -> U53(isPalListKind(V2), V1, V2) 7.35/3.16 U53(tt, V1, V2) -> U54(isPalListKind(V2), V1, V2) 7.35/3.16 U54(tt, V1, V2) -> U55(isNeList(V1), V2) 7.35/3.16 U55(tt, V2) -> U56(isList(V2)) 7.35/3.16 U56(tt) -> tt 7.35/3.16 U61(tt, V) -> U62(isPalListKind(V), V) 7.35/3.16 U62(tt, V) -> U63(isQid(V)) 7.35/3.16 U63(tt) -> tt 7.35/3.16 U71(tt, I, P) -> U72(isPalListKind(I), P) 7.35/3.16 U72(tt, P) -> U73(isPal(P), P) 7.35/3.16 U73(tt, P) -> U74(isPalListKind(P)) 7.35/3.16 U74(tt) -> tt 7.35/3.16 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.16 U82(tt, V) -> U83(isNePal(V)) 7.35/3.16 U83(tt) -> tt 7.35/3.16 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.16 U92(tt) -> tt 7.35/3.16 isList(V) -> U11(isPalListKind(V), V) 7.35/3.16 isList(nil) -> tt 7.35/3.16 isList(__(V1, V2)) -> U21(isPalListKind(V1), V1, V2) 7.35/3.16 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.16 isNeList(__(V1, V2)) -> U41(isPalListKind(V1), V1, V2) 7.35/3.16 isNeList(__(V1, V2)) -> U51(isPalListKind(V1), V1, V2) 7.35/3.16 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.16 isNePal(__(I, __(P, I))) -> U71(isQid(I), I, P) 7.35/3.16 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.16 isPal(nil) -> tt 7.35/3.16 isPalListKind(a) -> tt 7.35/3.16 isPalListKind(e) -> tt 7.35/3.16 isPalListKind(i) -> tt 7.35/3.16 isPalListKind(nil) -> tt 7.35/3.16 isPalListKind(o) -> tt 7.35/3.16 isPalListKind(u) -> tt 7.35/3.16 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.16 isQid(a) -> tt 7.35/3.16 isQid(e) -> tt 7.35/3.16 isQid(i) -> tt 7.35/3.16 isQid(o) -> tt 7.35/3.16 isQid(u) -> tt 7.35/3.16 7.35/3.16 The replacement map contains the following entries: 7.35/3.16 7.35/3.16 __: {1, 2} 7.35/3.16 nil: empty set 7.35/3.16 U11: {1} 7.35/3.16 tt: empty set 7.35/3.16 U12: {1} 7.35/3.16 isPalListKind: empty set 7.35/3.16 U13: {1} 7.35/3.16 isNeList: empty set 7.35/3.16 U21: {1} 7.35/3.16 U22: {1} 7.35/3.16 U23: {1} 7.35/3.16 U24: {1} 7.35/3.16 U25: {1} 7.35/3.16 isList: empty set 7.35/3.16 U26: {1} 7.35/3.16 U31: {1} 7.35/3.16 U32: {1} 7.35/3.16 U33: {1} 7.35/3.16 isQid: empty set 7.35/3.16 U41: {1} 7.35/3.16 U42: {1} 7.35/3.16 U43: {1} 7.35/3.16 U44: {1} 7.35/3.16 U45: {1} 7.35/3.16 U46: {1} 7.35/3.16 U51: {1} 7.35/3.16 U52: {1} 7.35/3.16 U53: {1} 7.35/3.16 U54: {1} 7.35/3.16 U55: {1} 7.35/3.16 U56: {1} 7.35/3.16 U61: {1} 7.35/3.16 U62: {1} 7.35/3.16 U63: {1} 7.35/3.16 U71: {1} 7.35/3.16 U72: {1} 7.35/3.16 U73: {1} 7.35/3.16 isPal: empty set 7.35/3.16 U74: {1} 7.35/3.16 U81: {1} 7.35/3.16 U82: {1} 7.35/3.16 U83: {1} 7.35/3.16 isNePal: empty set 7.35/3.16 U91: {1} 7.35/3.16 U92: {1} 7.35/3.16 a: empty set 7.35/3.16 e: empty set 7.35/3.16 i: empty set 7.35/3.16 o: empty set 7.35/3.16 u: empty set 7.35/3.16 Used ordering: 7.35/3.16 Polynomial interpretation [POLO]: 7.35/3.16 7.35/3.16 POL(U11(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U12(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U13(x_1)) = x_1 7.35/3.16 POL(U21(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.16 POL(U22(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.16 POL(U23(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.16 POL(U24(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.16 POL(U25(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U26(x_1)) = x_1 7.35/3.16 POL(U31(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U32(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U33(x_1)) = x_1 7.35/3.16 POL(U41(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.16 POL(U42(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.16 POL(U43(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.16 POL(U44(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.16 POL(U45(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U46(x_1)) = x_1 7.35/3.16 POL(U51(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.16 POL(U52(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.16 POL(U53(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.16 POL(U54(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.16 POL(U55(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U56(x_1)) = x_1 7.35/3.16 POL(U61(x_1, x_2)) = x_1 7.35/3.16 POL(U62(x_1, x_2)) = x_1 7.35/3.16 POL(U63(x_1)) = x_1 7.35/3.16 POL(U71(x_1, x_2, x_3)) = x_1 7.35/3.16 POL(U72(x_1, x_2)) = x_1 7.35/3.16 POL(U73(x_1, x_2)) = x_1 7.35/3.16 POL(U74(x_1)) = x_1 7.35/3.16 POL(U81(x_1, x_2)) = x_1 7.35/3.16 POL(U82(x_1, x_2)) = x_1 7.35/3.16 POL(U83(x_1)) = x_1 7.35/3.16 POL(U91(x_1, x_2)) = x_1 7.35/3.16 POL(U92(x_1)) = x_1 7.35/3.16 POL(__(x_1, x_2)) = 1 + x_1 + x_2 7.35/3.16 POL(a) = 1 7.35/3.16 POL(e) = 1 7.35/3.16 POL(i) = 1 7.35/3.16 POL(isList(x_1)) = x_1 7.35/3.16 POL(isNeList(x_1)) = x_1 7.35/3.16 POL(isNePal(x_1)) = 0 7.35/3.16 POL(isPal(x_1)) = 0 7.35/3.16 POL(isPalListKind(x_1)) = 0 7.35/3.16 POL(isQid(x_1)) = 0 7.35/3.16 POL(nil) = 0 7.35/3.16 POL(o) = 1 7.35/3.16 POL(tt) = 0 7.35/3.16 POL(u) = 1 7.35/3.16 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.35/3.16 7.35/3.16 U22(tt, V1, V2) -> U23(isPalListKind(V2), V1, V2) 7.35/3.16 U51(tt, V1, V2) -> U52(isPalListKind(V1), V1, V2) 7.35/3.16 isNeList(__(V1, V2)) -> U41(isPalListKind(V1), V1, V2) 7.35/3.16 7.35/3.16 7.35/3.16 7.35/3.16 7.35/3.16 ---------------------------------------- 7.35/3.16 7.35/3.16 (4) 7.35/3.16 Obligation: 7.35/3.16 Context-sensitive rewrite system: 7.35/3.16 The TRS R consists of the following rules: 7.35/3.16 7.35/3.16 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.16 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.16 U12(tt, V) -> U13(isNeList(V)) 7.35/3.16 U13(tt) -> tt 7.35/3.16 U21(tt, V1, V2) -> U22(isPalListKind(V1), V1, V2) 7.35/3.16 U23(tt, V1, V2) -> U24(isPalListKind(V2), V1, V2) 7.35/3.16 U24(tt, V1, V2) -> U25(isList(V1), V2) 7.35/3.16 U25(tt, V2) -> U26(isList(V2)) 7.35/3.16 U26(tt) -> tt 7.35/3.16 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.16 U32(tt, V) -> U33(isQid(V)) 7.35/3.16 U33(tt) -> tt 7.35/3.16 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.16 U42(tt, V1, V2) -> U43(isPalListKind(V2), V1, V2) 7.35/3.16 U43(tt, V1, V2) -> U44(isPalListKind(V2), V1, V2) 7.35/3.16 U44(tt, V1, V2) -> U45(isList(V1), V2) 7.35/3.16 U45(tt, V2) -> U46(isNeList(V2)) 7.35/3.16 U46(tt) -> tt 7.35/3.16 U52(tt, V1, V2) -> U53(isPalListKind(V2), V1, V2) 7.35/3.16 U53(tt, V1, V2) -> U54(isPalListKind(V2), V1, V2) 7.35/3.16 U54(tt, V1, V2) -> U55(isNeList(V1), V2) 7.35/3.16 U55(tt, V2) -> U56(isList(V2)) 7.35/3.16 U56(tt) -> tt 7.35/3.16 U61(tt, V) -> U62(isPalListKind(V), V) 7.35/3.16 U62(tt, V) -> U63(isQid(V)) 7.35/3.16 U63(tt) -> tt 7.35/3.16 U71(tt, I, P) -> U72(isPalListKind(I), P) 7.35/3.16 U72(tt, P) -> U73(isPal(P), P) 7.35/3.16 U73(tt, P) -> U74(isPalListKind(P)) 7.35/3.16 U74(tt) -> tt 7.35/3.16 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.16 U82(tt, V) -> U83(isNePal(V)) 7.35/3.16 U83(tt) -> tt 7.35/3.16 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.16 U92(tt) -> tt 7.35/3.16 isList(V) -> U11(isPalListKind(V), V) 7.35/3.16 isList(nil) -> tt 7.35/3.16 isList(__(V1, V2)) -> U21(isPalListKind(V1), V1, V2) 7.35/3.16 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.16 isNeList(__(V1, V2)) -> U51(isPalListKind(V1), V1, V2) 7.35/3.16 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.16 isNePal(__(I, __(P, I))) -> U71(isQid(I), I, P) 7.35/3.16 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.16 isPal(nil) -> tt 7.35/3.16 isPalListKind(a) -> tt 7.35/3.16 isPalListKind(e) -> tt 7.35/3.16 isPalListKind(i) -> tt 7.35/3.16 isPalListKind(nil) -> tt 7.35/3.16 isPalListKind(o) -> tt 7.35/3.16 isPalListKind(u) -> tt 7.35/3.16 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.16 isQid(a) -> tt 7.35/3.16 isQid(e) -> tt 7.35/3.16 isQid(i) -> tt 7.35/3.16 isQid(o) -> tt 7.35/3.16 isQid(u) -> tt 7.35/3.16 7.35/3.16 The replacement map contains the following entries: 7.35/3.16 7.35/3.16 __: {1, 2} 7.35/3.16 nil: empty set 7.35/3.16 U11: {1} 7.35/3.16 tt: empty set 7.35/3.16 U12: {1} 7.35/3.16 isPalListKind: empty set 7.35/3.16 U13: {1} 7.35/3.16 isNeList: empty set 7.35/3.16 U21: {1} 7.35/3.16 U22: {1} 7.35/3.16 U23: {1} 7.35/3.16 U24: {1} 7.35/3.16 U25: {1} 7.35/3.16 isList: empty set 7.35/3.16 U26: {1} 7.35/3.16 U31: {1} 7.35/3.16 U32: {1} 7.35/3.16 U33: {1} 7.35/3.16 isQid: empty set 7.35/3.16 U41: {1} 7.35/3.16 U42: {1} 7.35/3.16 U43: {1} 7.35/3.16 U44: {1} 7.35/3.16 U45: {1} 7.35/3.16 U46: {1} 7.35/3.16 U51: {1} 7.35/3.16 U52: {1} 7.35/3.16 U53: {1} 7.35/3.16 U54: {1} 7.35/3.16 U55: {1} 7.35/3.16 U56: {1} 7.35/3.16 U61: {1} 7.35/3.16 U62: {1} 7.35/3.16 U63: {1} 7.35/3.16 U71: {1} 7.35/3.16 U72: {1} 7.35/3.16 U73: {1} 7.35/3.16 isPal: empty set 7.35/3.16 U74: {1} 7.35/3.16 U81: {1} 7.35/3.16 U82: {1} 7.35/3.16 U83: {1} 7.35/3.16 isNePal: empty set 7.35/3.16 U91: {1} 7.35/3.16 U92: {1} 7.35/3.16 a: empty set 7.35/3.16 e: empty set 7.35/3.16 i: empty set 7.35/3.16 o: empty set 7.35/3.16 u: empty set 7.35/3.16 7.35/3.16 ---------------------------------------- 7.35/3.16 7.35/3.16 (5) CSRRRRProof (EQUIVALENT) 7.35/3.16 The following CSR is given: Context-sensitive rewrite system: 7.35/3.16 The TRS R consists of the following rules: 7.35/3.16 7.35/3.16 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.16 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.16 U12(tt, V) -> U13(isNeList(V)) 7.35/3.16 U13(tt) -> tt 7.35/3.16 U21(tt, V1, V2) -> U22(isPalListKind(V1), V1, V2) 7.35/3.16 U23(tt, V1, V2) -> U24(isPalListKind(V2), V1, V2) 7.35/3.16 U24(tt, V1, V2) -> U25(isList(V1), V2) 7.35/3.16 U25(tt, V2) -> U26(isList(V2)) 7.35/3.16 U26(tt) -> tt 7.35/3.16 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.16 U32(tt, V) -> U33(isQid(V)) 7.35/3.16 U33(tt) -> tt 7.35/3.16 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.16 U42(tt, V1, V2) -> U43(isPalListKind(V2), V1, V2) 7.35/3.16 U43(tt, V1, V2) -> U44(isPalListKind(V2), V1, V2) 7.35/3.16 U44(tt, V1, V2) -> U45(isList(V1), V2) 7.35/3.16 U45(tt, V2) -> U46(isNeList(V2)) 7.35/3.16 U46(tt) -> tt 7.35/3.16 U52(tt, V1, V2) -> U53(isPalListKind(V2), V1, V2) 7.35/3.16 U53(tt, V1, V2) -> U54(isPalListKind(V2), V1, V2) 7.35/3.16 U54(tt, V1, V2) -> U55(isNeList(V1), V2) 7.35/3.16 U55(tt, V2) -> U56(isList(V2)) 7.35/3.16 U56(tt) -> tt 7.35/3.16 U61(tt, V) -> U62(isPalListKind(V), V) 7.35/3.16 U62(tt, V) -> U63(isQid(V)) 7.35/3.16 U63(tt) -> tt 7.35/3.16 U71(tt, I, P) -> U72(isPalListKind(I), P) 7.35/3.16 U72(tt, P) -> U73(isPal(P), P) 7.35/3.16 U73(tt, P) -> U74(isPalListKind(P)) 7.35/3.16 U74(tt) -> tt 7.35/3.16 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.16 U82(tt, V) -> U83(isNePal(V)) 7.35/3.16 U83(tt) -> tt 7.35/3.16 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.16 U92(tt) -> tt 7.35/3.16 isList(V) -> U11(isPalListKind(V), V) 7.35/3.16 isList(nil) -> tt 7.35/3.16 isList(__(V1, V2)) -> U21(isPalListKind(V1), V1, V2) 7.35/3.16 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.16 isNeList(__(V1, V2)) -> U51(isPalListKind(V1), V1, V2) 7.35/3.16 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.16 isNePal(__(I, __(P, I))) -> U71(isQid(I), I, P) 7.35/3.16 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.16 isPal(nil) -> tt 7.35/3.16 isPalListKind(a) -> tt 7.35/3.16 isPalListKind(e) -> tt 7.35/3.16 isPalListKind(i) -> tt 7.35/3.16 isPalListKind(nil) -> tt 7.35/3.16 isPalListKind(o) -> tt 7.35/3.16 isPalListKind(u) -> tt 7.35/3.16 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.16 isQid(a) -> tt 7.35/3.16 isQid(e) -> tt 7.35/3.16 isQid(i) -> tt 7.35/3.16 isQid(o) -> tt 7.35/3.16 isQid(u) -> tt 7.35/3.16 7.35/3.16 The replacement map contains the following entries: 7.35/3.16 7.35/3.16 __: {1, 2} 7.35/3.16 nil: empty set 7.35/3.16 U11: {1} 7.35/3.16 tt: empty set 7.35/3.16 U12: {1} 7.35/3.16 isPalListKind: empty set 7.35/3.16 U13: {1} 7.35/3.16 isNeList: empty set 7.35/3.16 U21: {1} 7.35/3.16 U22: {1} 7.35/3.16 U23: {1} 7.35/3.16 U24: {1} 7.35/3.16 U25: {1} 7.35/3.16 isList: empty set 7.35/3.16 U26: {1} 7.35/3.16 U31: {1} 7.35/3.16 U32: {1} 7.35/3.16 U33: {1} 7.35/3.16 isQid: empty set 7.35/3.16 U41: {1} 7.35/3.16 U42: {1} 7.35/3.16 U43: {1} 7.35/3.16 U44: {1} 7.35/3.16 U45: {1} 7.35/3.16 U46: {1} 7.35/3.16 U51: {1} 7.35/3.16 U52: {1} 7.35/3.16 U53: {1} 7.35/3.16 U54: {1} 7.35/3.16 U55: {1} 7.35/3.16 U56: {1} 7.35/3.16 U61: {1} 7.35/3.16 U62: {1} 7.35/3.16 U63: {1} 7.35/3.16 U71: {1} 7.35/3.16 U72: {1} 7.35/3.16 U73: {1} 7.35/3.16 isPal: empty set 7.35/3.16 U74: {1} 7.35/3.16 U81: {1} 7.35/3.16 U82: {1} 7.35/3.16 U83: {1} 7.35/3.16 isNePal: empty set 7.35/3.16 U91: {1} 7.35/3.16 U92: {1} 7.35/3.16 a: empty set 7.35/3.16 e: empty set 7.35/3.16 i: empty set 7.35/3.16 o: empty set 7.35/3.16 u: empty set 7.35/3.16 Used ordering: 7.35/3.16 Polynomial interpretation [POLO]: 7.35/3.16 7.35/3.16 POL(U11(x_1, x_2)) = 2*x_1 7.35/3.16 POL(U12(x_1, x_2)) = 2*x_1 7.35/3.16 POL(U13(x_1)) = x_1 7.35/3.16 POL(U21(x_1, x_2, x_3)) = 2*x_1 7.35/3.16 POL(U22(x_1, x_2, x_3)) = x_1 7.35/3.16 POL(U23(x_1, x_2, x_3)) = 2 + 2*x_1 + 2*x_2 + 2*x_3 7.35/3.16 POL(U24(x_1, x_2, x_3)) = 1 + 2*x_1 + 2*x_2 + 2*x_3 7.35/3.16 POL(U25(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 7.35/3.16 POL(U26(x_1)) = x_1 7.35/3.16 POL(U31(x_1, x_2)) = 2*x_1 7.35/3.16 POL(U32(x_1, x_2)) = 2*x_1 7.35/3.16 POL(U33(x_1)) = x_1 7.35/3.16 POL(U41(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + 2*x_3 7.35/3.16 POL(U42(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + 2*x_3 7.35/3.16 POL(U43(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 7.35/3.16 POL(U44(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 7.35/3.16 POL(U45(x_1, x_2)) = 2*x_1 7.35/3.16 POL(U46(x_1)) = x_1 7.35/3.16 POL(U51(x_1, x_2, x_3)) = x_1 7.35/3.16 POL(U52(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + 2*x_3 7.35/3.16 POL(U53(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 7.35/3.16 POL(U54(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 7.35/3.16 POL(U55(x_1, x_2)) = 2*x_1 7.35/3.16 POL(U56(x_1)) = x_1 7.35/3.16 POL(U61(x_1, x_2)) = 2 + 2*x_1 7.35/3.16 POL(U62(x_1, x_2)) = 1 + 2*x_1 7.35/3.16 POL(U63(x_1)) = x_1 7.35/3.16 POL(U71(x_1, x_2, x_3)) = 2 + x_1 7.35/3.16 POL(U72(x_1, x_2)) = 2 + x_1 7.35/3.16 POL(U73(x_1, x_2)) = x_1 7.35/3.16 POL(U74(x_1)) = x_1 7.35/3.16 POL(U81(x_1, x_2)) = 2 + 2*x_1 7.35/3.16 POL(U82(x_1, x_2)) = 2 + x_1 7.35/3.16 POL(U83(x_1)) = x_1 7.35/3.16 POL(U91(x_1, x_2)) = x_1 7.35/3.16 POL(U92(x_1)) = x_1 7.35/3.16 POL(__(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(a) = 0 7.35/3.16 POL(e) = 0 7.35/3.16 POL(i) = 0 7.35/3.16 POL(isList(x_1)) = 0 7.35/3.16 POL(isNeList(x_1)) = 0 7.35/3.16 POL(isNePal(x_1)) = 2 7.35/3.16 POL(isPal(x_1)) = 2 7.35/3.16 POL(isPalListKind(x_1)) = 0 7.35/3.16 POL(isQid(x_1)) = 0 7.35/3.16 POL(nil) = 0 7.35/3.16 POL(o) = 0 7.35/3.16 POL(tt) = 0 7.35/3.16 POL(u) = 0 7.35/3.16 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.35/3.16 7.35/3.16 U23(tt, V1, V2) -> U24(isPalListKind(V2), V1, V2) 7.35/3.16 U25(tt, V2) -> U26(isList(V2)) 7.35/3.16 U61(tt, V) -> U62(isPalListKind(V), V) 7.35/3.16 U62(tt, V) -> U63(isQid(V)) 7.35/3.16 isPal(nil) -> tt 7.35/3.16 7.35/3.16 7.35/3.16 7.35/3.16 7.35/3.16 ---------------------------------------- 7.35/3.16 7.35/3.16 (6) 7.35/3.16 Obligation: 7.35/3.16 Context-sensitive rewrite system: 7.35/3.16 The TRS R consists of the following rules: 7.35/3.16 7.35/3.16 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.16 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.16 U12(tt, V) -> U13(isNeList(V)) 7.35/3.16 U13(tt) -> tt 7.35/3.16 U21(tt, V1, V2) -> U22(isPalListKind(V1), V1, V2) 7.35/3.16 U24(tt, V1, V2) -> U25(isList(V1), V2) 7.35/3.16 U26(tt) -> tt 7.35/3.16 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.16 U32(tt, V) -> U33(isQid(V)) 7.35/3.16 U33(tt) -> tt 7.35/3.16 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.16 U42(tt, V1, V2) -> U43(isPalListKind(V2), V1, V2) 7.35/3.16 U43(tt, V1, V2) -> U44(isPalListKind(V2), V1, V2) 7.35/3.16 U44(tt, V1, V2) -> U45(isList(V1), V2) 7.35/3.16 U45(tt, V2) -> U46(isNeList(V2)) 7.35/3.16 U46(tt) -> tt 7.35/3.16 U52(tt, V1, V2) -> U53(isPalListKind(V2), V1, V2) 7.35/3.16 U53(tt, V1, V2) -> U54(isPalListKind(V2), V1, V2) 7.35/3.16 U54(tt, V1, V2) -> U55(isNeList(V1), V2) 7.35/3.16 U55(tt, V2) -> U56(isList(V2)) 7.35/3.16 U56(tt) -> tt 7.35/3.16 U63(tt) -> tt 7.35/3.16 U71(tt, I, P) -> U72(isPalListKind(I), P) 7.35/3.16 U72(tt, P) -> U73(isPal(P), P) 7.35/3.16 U73(tt, P) -> U74(isPalListKind(P)) 7.35/3.16 U74(tt) -> tt 7.35/3.16 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.16 U82(tt, V) -> U83(isNePal(V)) 7.35/3.16 U83(tt) -> tt 7.35/3.16 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.16 U92(tt) -> tt 7.35/3.16 isList(V) -> U11(isPalListKind(V), V) 7.35/3.16 isList(nil) -> tt 7.35/3.16 isList(__(V1, V2)) -> U21(isPalListKind(V1), V1, V2) 7.35/3.16 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.16 isNeList(__(V1, V2)) -> U51(isPalListKind(V1), V1, V2) 7.35/3.16 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.16 isNePal(__(I, __(P, I))) -> U71(isQid(I), I, P) 7.35/3.16 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.16 isPalListKind(a) -> tt 7.35/3.16 isPalListKind(e) -> tt 7.35/3.16 isPalListKind(i) -> tt 7.35/3.16 isPalListKind(nil) -> tt 7.35/3.16 isPalListKind(o) -> tt 7.35/3.16 isPalListKind(u) -> tt 7.35/3.16 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.16 isQid(a) -> tt 7.35/3.16 isQid(e) -> tt 7.35/3.16 isQid(i) -> tt 7.35/3.16 isQid(o) -> tt 7.35/3.16 isQid(u) -> tt 7.35/3.16 7.35/3.16 The replacement map contains the following entries: 7.35/3.16 7.35/3.16 __: {1, 2} 7.35/3.16 nil: empty set 7.35/3.16 U11: {1} 7.35/3.16 tt: empty set 7.35/3.16 U12: {1} 7.35/3.16 isPalListKind: empty set 7.35/3.16 U13: {1} 7.35/3.16 isNeList: empty set 7.35/3.16 U21: {1} 7.35/3.16 U22: {1} 7.35/3.16 U24: {1} 7.35/3.16 U25: {1} 7.35/3.16 isList: empty set 7.35/3.16 U26: {1} 7.35/3.16 U31: {1} 7.35/3.16 U32: {1} 7.35/3.16 U33: {1} 7.35/3.16 isQid: empty set 7.35/3.16 U41: {1} 7.35/3.16 U42: {1} 7.35/3.16 U43: {1} 7.35/3.16 U44: {1} 7.35/3.16 U45: {1} 7.35/3.16 U46: {1} 7.35/3.16 U51: {1} 7.35/3.16 U52: {1} 7.35/3.16 U53: {1} 7.35/3.16 U54: {1} 7.35/3.16 U55: {1} 7.35/3.16 U56: {1} 7.35/3.16 U61: {1} 7.35/3.16 U63: {1} 7.35/3.16 U71: {1} 7.35/3.16 U72: {1} 7.35/3.16 U73: {1} 7.35/3.16 isPal: empty set 7.35/3.16 U74: {1} 7.35/3.16 U81: {1} 7.35/3.16 U82: {1} 7.35/3.16 U83: {1} 7.35/3.16 isNePal: empty set 7.35/3.16 U91: {1} 7.35/3.16 U92: {1} 7.35/3.16 a: empty set 7.35/3.16 e: empty set 7.35/3.16 i: empty set 7.35/3.16 o: empty set 7.35/3.16 u: empty set 7.35/3.16 7.35/3.16 ---------------------------------------- 7.35/3.16 7.35/3.16 (7) CSRRRRProof (EQUIVALENT) 7.35/3.16 The following CSR is given: Context-sensitive rewrite system: 7.35/3.16 The TRS R consists of the following rules: 7.35/3.16 7.35/3.16 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.16 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.16 U12(tt, V) -> U13(isNeList(V)) 7.35/3.16 U13(tt) -> tt 7.35/3.16 U21(tt, V1, V2) -> U22(isPalListKind(V1), V1, V2) 7.35/3.16 U24(tt, V1, V2) -> U25(isList(V1), V2) 7.35/3.16 U26(tt) -> tt 7.35/3.16 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.16 U32(tt, V) -> U33(isQid(V)) 7.35/3.16 U33(tt) -> tt 7.35/3.16 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.16 U42(tt, V1, V2) -> U43(isPalListKind(V2), V1, V2) 7.35/3.16 U43(tt, V1, V2) -> U44(isPalListKind(V2), V1, V2) 7.35/3.16 U44(tt, V1, V2) -> U45(isList(V1), V2) 7.35/3.16 U45(tt, V2) -> U46(isNeList(V2)) 7.35/3.16 U46(tt) -> tt 7.35/3.16 U52(tt, V1, V2) -> U53(isPalListKind(V2), V1, V2) 7.35/3.16 U53(tt, V1, V2) -> U54(isPalListKind(V2), V1, V2) 7.35/3.16 U54(tt, V1, V2) -> U55(isNeList(V1), V2) 7.35/3.16 U55(tt, V2) -> U56(isList(V2)) 7.35/3.16 U56(tt) -> tt 7.35/3.16 U63(tt) -> tt 7.35/3.16 U71(tt, I, P) -> U72(isPalListKind(I), P) 7.35/3.16 U72(tt, P) -> U73(isPal(P), P) 7.35/3.16 U73(tt, P) -> U74(isPalListKind(P)) 7.35/3.16 U74(tt) -> tt 7.35/3.16 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.16 U82(tt, V) -> U83(isNePal(V)) 7.35/3.16 U83(tt) -> tt 7.35/3.16 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.16 U92(tt) -> tt 7.35/3.16 isList(V) -> U11(isPalListKind(V), V) 7.35/3.16 isList(nil) -> tt 7.35/3.16 isList(__(V1, V2)) -> U21(isPalListKind(V1), V1, V2) 7.35/3.16 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.16 isNeList(__(V1, V2)) -> U51(isPalListKind(V1), V1, V2) 7.35/3.16 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.16 isNePal(__(I, __(P, I))) -> U71(isQid(I), I, P) 7.35/3.16 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.16 isPalListKind(a) -> tt 7.35/3.16 isPalListKind(e) -> tt 7.35/3.16 isPalListKind(i) -> tt 7.35/3.16 isPalListKind(nil) -> tt 7.35/3.16 isPalListKind(o) -> tt 7.35/3.16 isPalListKind(u) -> tt 7.35/3.16 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.16 isQid(a) -> tt 7.35/3.16 isQid(e) -> tt 7.35/3.16 isQid(i) -> tt 7.35/3.16 isQid(o) -> tt 7.35/3.16 isQid(u) -> tt 7.35/3.16 7.35/3.16 The replacement map contains the following entries: 7.35/3.16 7.35/3.16 __: {1, 2} 7.35/3.16 nil: empty set 7.35/3.16 U11: {1} 7.35/3.16 tt: empty set 7.35/3.16 U12: {1} 7.35/3.16 isPalListKind: empty set 7.35/3.16 U13: {1} 7.35/3.16 isNeList: empty set 7.35/3.16 U21: {1} 7.35/3.16 U22: {1} 7.35/3.16 U24: {1} 7.35/3.16 U25: {1} 7.35/3.16 isList: empty set 7.35/3.16 U26: {1} 7.35/3.16 U31: {1} 7.35/3.16 U32: {1} 7.35/3.16 U33: {1} 7.35/3.16 isQid: empty set 7.35/3.16 U41: {1} 7.35/3.16 U42: {1} 7.35/3.16 U43: {1} 7.35/3.16 U44: {1} 7.35/3.16 U45: {1} 7.35/3.16 U46: {1} 7.35/3.16 U51: {1} 7.35/3.16 U52: {1} 7.35/3.16 U53: {1} 7.35/3.16 U54: {1} 7.35/3.16 U55: {1} 7.35/3.16 U56: {1} 7.35/3.16 U61: {1} 7.35/3.16 U63: {1} 7.35/3.16 U71: {1} 7.35/3.16 U72: {1} 7.35/3.16 U73: {1} 7.35/3.16 isPal: empty set 7.35/3.16 U74: {1} 7.35/3.16 U81: {1} 7.35/3.16 U82: {1} 7.35/3.16 U83: {1} 7.35/3.16 isNePal: empty set 7.35/3.16 U91: {1} 7.35/3.16 U92: {1} 7.35/3.16 a: empty set 7.35/3.16 e: empty set 7.35/3.16 i: empty set 7.35/3.16 o: empty set 7.35/3.16 u: empty set 7.35/3.16 Used ordering: 7.35/3.16 Polynomial interpretation [POLO]: 7.35/3.16 7.35/3.16 POL(U11(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U12(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U13(x_1)) = x_1 7.35/3.16 POL(U21(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.16 POL(U22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.16 POL(U24(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.16 POL(U25(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U26(x_1)) = x_1 7.35/3.16 POL(U31(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U32(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U33(x_1)) = x_1 7.35/3.16 POL(U41(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.16 POL(U42(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.16 POL(U43(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.16 POL(U44(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.16 POL(U45(x_1, x_2)) = 1 + x_1 + x_2 7.35/3.16 POL(U46(x_1)) = x_1 7.35/3.16 POL(U51(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.16 POL(U52(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.16 POL(U53(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.16 POL(U54(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.16 POL(U55(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U56(x_1)) = x_1 7.35/3.16 POL(U61(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U63(x_1)) = x_1 7.35/3.16 POL(U71(x_1, x_2, x_3)) = 1 + x_1 + x_3 7.35/3.16 POL(U72(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U73(x_1, x_2)) = x_1 7.35/3.16 POL(U74(x_1)) = x_1 7.35/3.16 POL(U81(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U82(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U83(x_1)) = x_1 7.35/3.16 POL(U91(x_1, x_2)) = x_1 7.35/3.16 POL(U92(x_1)) = x_1 7.35/3.16 POL(__(x_1, x_2)) = 1 + x_1 + x_2 7.35/3.16 POL(a) = 0 7.35/3.16 POL(e) = 0 7.35/3.16 POL(i) = 0 7.35/3.16 POL(isList(x_1)) = 1 + x_1 7.35/3.16 POL(isNeList(x_1)) = 1 + x_1 7.35/3.16 POL(isNePal(x_1)) = 1 + x_1 7.35/3.16 POL(isPal(x_1)) = 1 + x_1 7.35/3.16 POL(isPalListKind(x_1)) = 1 7.35/3.16 POL(isQid(x_1)) = 1 + x_1 7.35/3.16 POL(nil) = 0 7.35/3.16 POL(o) = 0 7.35/3.16 POL(tt) = 1 7.35/3.16 POL(u) = 0 7.35/3.16 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.35/3.16 7.35/3.16 U24(tt, V1, V2) -> U25(isList(V1), V2) 7.35/3.16 U45(tt, V2) -> U46(isNeList(V2)) 7.35/3.16 U71(tt, I, P) -> U72(isPalListKind(I), P) 7.35/3.16 isList(__(V1, V2)) -> U21(isPalListKind(V1), V1, V2) 7.35/3.16 isNeList(__(V1, V2)) -> U51(isPalListKind(V1), V1, V2) 7.35/3.16 isNePal(__(I, __(P, I))) -> U71(isQid(I), I, P) 7.35/3.16 7.35/3.16 7.35/3.16 7.35/3.16 7.35/3.16 ---------------------------------------- 7.35/3.16 7.35/3.16 (8) 7.35/3.16 Obligation: 7.35/3.16 Context-sensitive rewrite system: 7.35/3.16 The TRS R consists of the following rules: 7.35/3.16 7.35/3.16 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.16 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.16 U12(tt, V) -> U13(isNeList(V)) 7.35/3.16 U13(tt) -> tt 7.35/3.16 U21(tt, V1, V2) -> U22(isPalListKind(V1), V1, V2) 7.35/3.16 U26(tt) -> tt 7.35/3.16 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.16 U32(tt, V) -> U33(isQid(V)) 7.35/3.16 U33(tt) -> tt 7.35/3.16 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.16 U42(tt, V1, V2) -> U43(isPalListKind(V2), V1, V2) 7.35/3.16 U43(tt, V1, V2) -> U44(isPalListKind(V2), V1, V2) 7.35/3.16 U44(tt, V1, V2) -> U45(isList(V1), V2) 7.35/3.16 U46(tt) -> tt 7.35/3.16 U52(tt, V1, V2) -> U53(isPalListKind(V2), V1, V2) 7.35/3.16 U53(tt, V1, V2) -> U54(isPalListKind(V2), V1, V2) 7.35/3.16 U54(tt, V1, V2) -> U55(isNeList(V1), V2) 7.35/3.16 U55(tt, V2) -> U56(isList(V2)) 7.35/3.16 U56(tt) -> tt 7.35/3.16 U63(tt) -> tt 7.35/3.16 U72(tt, P) -> U73(isPal(P), P) 7.35/3.16 U73(tt, P) -> U74(isPalListKind(P)) 7.35/3.16 U74(tt) -> tt 7.35/3.16 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.16 U82(tt, V) -> U83(isNePal(V)) 7.35/3.16 U83(tt) -> tt 7.35/3.16 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.16 U92(tt) -> tt 7.35/3.16 isList(V) -> U11(isPalListKind(V), V) 7.35/3.16 isList(nil) -> tt 7.35/3.16 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.16 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.16 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.16 isPalListKind(a) -> tt 7.35/3.16 isPalListKind(e) -> tt 7.35/3.16 isPalListKind(i) -> tt 7.35/3.16 isPalListKind(nil) -> tt 7.35/3.16 isPalListKind(o) -> tt 7.35/3.16 isPalListKind(u) -> tt 7.35/3.16 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.16 isQid(a) -> tt 7.35/3.16 isQid(e) -> tt 7.35/3.16 isQid(i) -> tt 7.35/3.16 isQid(o) -> tt 7.35/3.16 isQid(u) -> tt 7.35/3.16 7.35/3.16 The replacement map contains the following entries: 7.35/3.16 7.35/3.16 __: {1, 2} 7.35/3.16 nil: empty set 7.35/3.16 U11: {1} 7.35/3.16 tt: empty set 7.35/3.16 U12: {1} 7.35/3.16 isPalListKind: empty set 7.35/3.16 U13: {1} 7.35/3.16 isNeList: empty set 7.35/3.16 U21: {1} 7.35/3.16 U22: {1} 7.35/3.16 isList: empty set 7.35/3.16 U26: {1} 7.35/3.16 U31: {1} 7.35/3.16 U32: {1} 7.35/3.16 U33: {1} 7.35/3.16 isQid: empty set 7.35/3.16 U41: {1} 7.35/3.16 U42: {1} 7.35/3.16 U43: {1} 7.35/3.16 U44: {1} 7.35/3.16 U45: {1} 7.35/3.16 U46: {1} 7.35/3.16 U52: {1} 7.35/3.16 U53: {1} 7.35/3.16 U54: {1} 7.35/3.16 U55: {1} 7.35/3.16 U56: {1} 7.35/3.16 U61: {1} 7.35/3.16 U63: {1} 7.35/3.16 U72: {1} 7.35/3.16 U73: {1} 7.35/3.16 isPal: empty set 7.35/3.16 U74: {1} 7.35/3.16 U81: {1} 7.35/3.16 U82: {1} 7.35/3.16 U83: {1} 7.35/3.16 isNePal: empty set 7.35/3.16 U91: {1} 7.35/3.16 U92: {1} 7.35/3.16 a: empty set 7.35/3.16 e: empty set 7.35/3.16 i: empty set 7.35/3.16 o: empty set 7.35/3.16 u: empty set 7.35/3.16 7.35/3.16 ---------------------------------------- 7.35/3.16 7.35/3.16 (9) CSRRRRProof (EQUIVALENT) 7.35/3.16 The following CSR is given: Context-sensitive rewrite system: 7.35/3.16 The TRS R consists of the following rules: 7.35/3.16 7.35/3.16 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.16 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.16 U12(tt, V) -> U13(isNeList(V)) 7.35/3.16 U13(tt) -> tt 7.35/3.16 U21(tt, V1, V2) -> U22(isPalListKind(V1), V1, V2) 7.35/3.16 U26(tt) -> tt 7.35/3.16 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.16 U32(tt, V) -> U33(isQid(V)) 7.35/3.16 U33(tt) -> tt 7.35/3.16 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.16 U42(tt, V1, V2) -> U43(isPalListKind(V2), V1, V2) 7.35/3.16 U43(tt, V1, V2) -> U44(isPalListKind(V2), V1, V2) 7.35/3.16 U44(tt, V1, V2) -> U45(isList(V1), V2) 7.35/3.16 U46(tt) -> tt 7.35/3.16 U52(tt, V1, V2) -> U53(isPalListKind(V2), V1, V2) 7.35/3.16 U53(tt, V1, V2) -> U54(isPalListKind(V2), V1, V2) 7.35/3.16 U54(tt, V1, V2) -> U55(isNeList(V1), V2) 7.35/3.16 U55(tt, V2) -> U56(isList(V2)) 7.35/3.16 U56(tt) -> tt 7.35/3.16 U63(tt) -> tt 7.35/3.16 U72(tt, P) -> U73(isPal(P), P) 7.35/3.16 U73(tt, P) -> U74(isPalListKind(P)) 7.35/3.16 U74(tt) -> tt 7.35/3.16 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.16 U82(tt, V) -> U83(isNePal(V)) 7.35/3.16 U83(tt) -> tt 7.35/3.16 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.16 U92(tt) -> tt 7.35/3.16 isList(V) -> U11(isPalListKind(V), V) 7.35/3.16 isList(nil) -> tt 7.35/3.16 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.16 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.16 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.16 isPalListKind(a) -> tt 7.35/3.16 isPalListKind(e) -> tt 7.35/3.16 isPalListKind(i) -> tt 7.35/3.16 isPalListKind(nil) -> tt 7.35/3.16 isPalListKind(o) -> tt 7.35/3.16 isPalListKind(u) -> tt 7.35/3.16 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.16 isQid(a) -> tt 7.35/3.16 isQid(e) -> tt 7.35/3.16 isQid(i) -> tt 7.35/3.16 isQid(o) -> tt 7.35/3.16 isQid(u) -> tt 7.35/3.16 7.35/3.16 The replacement map contains the following entries: 7.35/3.16 7.35/3.16 __: {1, 2} 7.35/3.16 nil: empty set 7.35/3.16 U11: {1} 7.35/3.16 tt: empty set 7.35/3.16 U12: {1} 7.35/3.16 isPalListKind: empty set 7.35/3.16 U13: {1} 7.35/3.16 isNeList: empty set 7.35/3.16 U21: {1} 7.35/3.16 U22: {1} 7.35/3.16 isList: empty set 7.35/3.16 U26: {1} 7.35/3.16 U31: {1} 7.35/3.16 U32: {1} 7.35/3.16 U33: {1} 7.35/3.16 isQid: empty set 7.35/3.16 U41: {1} 7.35/3.16 U42: {1} 7.35/3.16 U43: {1} 7.35/3.16 U44: {1} 7.35/3.16 U45: {1} 7.35/3.16 U46: {1} 7.35/3.16 U52: {1} 7.35/3.16 U53: {1} 7.35/3.16 U54: {1} 7.35/3.16 U55: {1} 7.35/3.16 U56: {1} 7.35/3.16 U61: {1} 7.35/3.16 U63: {1} 7.35/3.16 U72: {1} 7.35/3.16 U73: {1} 7.35/3.16 isPal: empty set 7.35/3.16 U74: {1} 7.35/3.16 U81: {1} 7.35/3.16 U82: {1} 7.35/3.16 U83: {1} 7.35/3.16 isNePal: empty set 7.35/3.16 U91: {1} 7.35/3.16 U92: {1} 7.35/3.16 a: empty set 7.35/3.16 e: empty set 7.35/3.16 i: empty set 7.35/3.16 o: empty set 7.35/3.16 u: empty set 7.35/3.16 Used ordering: 7.35/3.16 Polynomial interpretation [POLO]: 7.35/3.16 7.35/3.16 POL(U11(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U12(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U13(x_1)) = x_1 7.35/3.16 POL(U21(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.16 POL(U22(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.16 POL(U26(x_1)) = x_1 7.35/3.16 POL(U31(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U32(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U33(x_1)) = x_1 7.35/3.16 POL(U41(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.16 POL(U42(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.16 POL(U43(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.16 POL(U44(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.16 POL(U45(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U46(x_1)) = x_1 7.35/3.16 POL(U52(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.16 POL(U53(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.16 POL(U54(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.16 POL(U55(x_1, x_2)) = x_1 + x_2 7.35/3.16 POL(U56(x_1)) = x_1 7.35/3.16 POL(U61(x_1, x_2)) = x_1 7.35/3.16 POL(U63(x_1)) = x_1 7.35/3.16 POL(U72(x_1, x_2)) = 1 + x_1 + x_2 7.35/3.16 POL(U73(x_1, x_2)) = 1 + x_1 + x_2 7.35/3.16 POL(U74(x_1)) = x_1 7.35/3.16 POL(U81(x_1, x_2)) = x_1 7.35/3.16 POL(U82(x_1, x_2)) = x_1 7.35/3.16 POL(U83(x_1)) = x_1 7.35/3.16 POL(U91(x_1, x_2)) = x_1 7.35/3.16 POL(U92(x_1)) = x_1 7.35/3.16 POL(__(x_1, x_2)) = 1 + x_1 + x_2 7.35/3.16 POL(a) = 0 7.35/3.16 POL(e) = 0 7.35/3.16 POL(i) = 1 7.35/3.16 POL(isList(x_1)) = 1 + x_1 7.35/3.16 POL(isNeList(x_1)) = 1 + x_1 7.35/3.16 POL(isNePal(x_1)) = 1 7.35/3.16 POL(isPal(x_1)) = 1 7.35/3.16 POL(isPalListKind(x_1)) = 1 7.35/3.16 POL(isQid(x_1)) = 1 + x_1 7.35/3.16 POL(nil) = 0 7.35/3.16 POL(o) = 1 7.35/3.16 POL(tt) = 1 7.35/3.16 POL(u) = 1 7.35/3.16 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.35/3.16 7.35/3.16 U21(tt, V1, V2) -> U22(isPalListKind(V1), V1, V2) 7.35/3.16 U44(tt, V1, V2) -> U45(isList(V1), V2) 7.35/3.16 U54(tt, V1, V2) -> U55(isNeList(V1), V2) 7.35/3.16 U73(tt, P) -> U74(isPalListKind(P)) 7.35/3.16 isQid(i) -> tt 7.35/3.16 isQid(o) -> tt 7.35/3.16 isQid(u) -> tt 7.35/3.16 7.35/3.16 7.35/3.16 7.35/3.16 7.35/3.16 ---------------------------------------- 7.35/3.16 7.35/3.16 (10) 7.35/3.16 Obligation: 7.35/3.16 Context-sensitive rewrite system: 7.35/3.16 The TRS R consists of the following rules: 7.35/3.16 7.35/3.16 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.16 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.16 U12(tt, V) -> U13(isNeList(V)) 7.35/3.16 U13(tt) -> tt 7.35/3.16 U26(tt) -> tt 7.35/3.16 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.16 U32(tt, V) -> U33(isQid(V)) 7.35/3.16 U33(tt) -> tt 7.35/3.16 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.16 U42(tt, V1, V2) -> U43(isPalListKind(V2), V1, V2) 7.35/3.16 U43(tt, V1, V2) -> U44(isPalListKind(V2), V1, V2) 7.35/3.16 U46(tt) -> tt 7.35/3.16 U52(tt, V1, V2) -> U53(isPalListKind(V2), V1, V2) 7.35/3.16 U53(tt, V1, V2) -> U54(isPalListKind(V2), V1, V2) 7.35/3.16 U55(tt, V2) -> U56(isList(V2)) 7.35/3.16 U56(tt) -> tt 7.35/3.16 U63(tt) -> tt 7.35/3.16 U72(tt, P) -> U73(isPal(P), P) 7.35/3.16 U74(tt) -> tt 7.35/3.16 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.16 U82(tt, V) -> U83(isNePal(V)) 7.35/3.16 U83(tt) -> tt 7.35/3.16 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.16 U92(tt) -> tt 7.35/3.16 isList(V) -> U11(isPalListKind(V), V) 7.35/3.16 isList(nil) -> tt 7.35/3.16 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.16 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.16 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.16 isPalListKind(a) -> tt 7.35/3.16 isPalListKind(e) -> tt 7.35/3.16 isPalListKind(i) -> tt 7.35/3.16 isPalListKind(nil) -> tt 7.35/3.16 isPalListKind(o) -> tt 7.35/3.16 isPalListKind(u) -> tt 7.35/3.16 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.16 isQid(a) -> tt 7.35/3.16 isQid(e) -> tt 7.35/3.16 7.35/3.16 The replacement map contains the following entries: 7.35/3.16 7.35/3.16 __: {1, 2} 7.35/3.16 nil: empty set 7.35/3.16 U11: {1} 7.35/3.16 tt: empty set 7.35/3.16 U12: {1} 7.35/3.16 isPalListKind: empty set 7.35/3.16 U13: {1} 7.35/3.16 isNeList: empty set 7.35/3.16 isList: empty set 7.35/3.16 U26: {1} 7.35/3.16 U31: {1} 7.35/3.16 U32: {1} 7.35/3.16 U33: {1} 7.35/3.16 isQid: empty set 7.35/3.16 U41: {1} 7.35/3.16 U42: {1} 7.35/3.16 U43: {1} 7.35/3.16 U44: {1} 7.35/3.16 U46: {1} 7.35/3.16 U52: {1} 7.35/3.16 U53: {1} 7.35/3.16 U54: {1} 7.35/3.16 U55: {1} 7.35/3.16 U56: {1} 7.35/3.16 U61: {1} 7.35/3.16 U63: {1} 7.35/3.16 U72: {1} 7.35/3.16 U73: {1} 7.35/3.16 isPal: empty set 7.35/3.17 U74: {1} 7.35/3.17 U81: {1} 7.35/3.17 U82: {1} 7.35/3.17 U83: {1} 7.35/3.17 isNePal: empty set 7.35/3.17 U91: {1} 7.35/3.17 U92: {1} 7.35/3.17 a: empty set 7.35/3.17 e: empty set 7.35/3.17 i: empty set 7.35/3.17 o: empty set 7.35/3.17 u: empty set 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (11) CSRRRRProof (EQUIVALENT) 7.35/3.17 The following CSR is given: Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.17 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.17 U12(tt, V) -> U13(isNeList(V)) 7.35/3.17 U13(tt) -> tt 7.35/3.17 U26(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U32(tt, V) -> U33(isQid(V)) 7.35/3.17 U33(tt) -> tt 7.35/3.17 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.17 U42(tt, V1, V2) -> U43(isPalListKind(V2), V1, V2) 7.35/3.17 U43(tt, V1, V2) -> U44(isPalListKind(V2), V1, V2) 7.35/3.17 U46(tt) -> tt 7.35/3.17 U52(tt, V1, V2) -> U53(isPalListKind(V2), V1, V2) 7.35/3.17 U53(tt, V1, V2) -> U54(isPalListKind(V2), V1, V2) 7.35/3.17 U55(tt, V2) -> U56(isList(V2)) 7.35/3.17 U56(tt) -> tt 7.35/3.17 U63(tt) -> tt 7.35/3.17 U72(tt, P) -> U73(isPal(P), P) 7.35/3.17 U74(tt) -> tt 7.35/3.17 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.17 U82(tt, V) -> U83(isNePal(V)) 7.35/3.17 U83(tt) -> tt 7.35/3.17 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isList(V) -> U11(isPalListKind(V), V) 7.35/3.17 isList(nil) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.17 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.17 isPalListKind(a) -> tt 7.35/3.17 isPalListKind(e) -> tt 7.35/3.17 isPalListKind(i) -> tt 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 isPalListKind(o) -> tt 7.35/3.17 isPalListKind(u) -> tt 7.35/3.17 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.17 isQid(a) -> tt 7.35/3.17 isQid(e) -> tt 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 __: {1, 2} 7.35/3.17 nil: empty set 7.35/3.17 U11: {1} 7.35/3.17 tt: empty set 7.35/3.17 U12: {1} 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 isList: empty set 7.35/3.17 U26: {1} 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U33: {1} 7.35/3.17 isQid: empty set 7.35/3.17 U41: {1} 7.35/3.17 U42: {1} 7.35/3.17 U43: {1} 7.35/3.17 U44: {1} 7.35/3.17 U46: {1} 7.35/3.17 U52: {1} 7.35/3.17 U53: {1} 7.35/3.17 U54: {1} 7.35/3.17 U55: {1} 7.35/3.17 U56: {1} 7.35/3.17 U61: {1} 7.35/3.17 U63: {1} 7.35/3.17 U72: {1} 7.35/3.17 U73: {1} 7.35/3.17 isPal: empty set 7.35/3.17 U74: {1} 7.35/3.17 U81: {1} 7.35/3.17 U82: {1} 7.35/3.17 U83: {1} 7.35/3.17 isNePal: empty set 7.35/3.17 U91: {1} 7.35/3.17 U92: {1} 7.35/3.17 a: empty set 7.35/3.17 e: empty set 7.35/3.17 i: empty set 7.35/3.17 o: empty set 7.35/3.17 u: empty set 7.35/3.17 Used ordering: 7.35/3.17 Polynomial interpretation [POLO]: 7.35/3.17 7.35/3.17 POL(U11(x_1, x_2)) = x_1 + x_2 7.35/3.17 POL(U12(x_1, x_2)) = x_1 + x_2 7.35/3.17 POL(U13(x_1)) = x_1 7.35/3.17 POL(U26(x_1)) = x_1 7.35/3.17 POL(U31(x_1, x_2)) = x_1 + x_2 7.35/3.17 POL(U32(x_1, x_2)) = x_1 + x_2 7.35/3.17 POL(U33(x_1)) = x_1 7.35/3.17 POL(U41(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.17 POL(U42(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.17 POL(U43(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.17 POL(U44(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.17 POL(U46(x_1)) = x_1 7.35/3.17 POL(U52(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.17 POL(U53(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.17 POL(U54(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.17 POL(U55(x_1, x_2)) = 1 + x_1 + x_2 7.35/3.17 POL(U56(x_1)) = x_1 7.35/3.17 POL(U61(x_1, x_2)) = x_1 + x_2 7.35/3.17 POL(U63(x_1)) = x_1 7.35/3.17 POL(U72(x_1, x_2)) = 1 + x_1 + x_2 7.35/3.17 POL(U73(x_1, x_2)) = 1 + x_1 7.35/3.17 POL(U74(x_1)) = x_1 7.35/3.17 POL(U81(x_1, x_2)) = x_1 + x_2 7.35/3.17 POL(U82(x_1, x_2)) = x_1 + x_2 7.35/3.17 POL(U83(x_1)) = x_1 7.35/3.17 POL(U91(x_1, x_2)) = x_1 7.35/3.17 POL(U92(x_1)) = x_1 7.35/3.17 POL(__(x_1, x_2)) = 1 + x_1 + x_2 7.35/3.17 POL(a) = 1 7.35/3.17 POL(e) = 1 7.35/3.17 POL(i) = 1 7.35/3.17 POL(isList(x_1)) = 1 + x_1 7.35/3.17 POL(isNeList(x_1)) = 1 + x_1 7.35/3.17 POL(isNePal(x_1)) = 1 + x_1 7.35/3.17 POL(isPal(x_1)) = 1 + x_1 7.35/3.17 POL(isPalListKind(x_1)) = 1 7.35/3.17 POL(isQid(x_1)) = x_1 7.35/3.17 POL(nil) = 0 7.35/3.17 POL(o) = 1 7.35/3.17 POL(tt) = 1 7.35/3.17 POL(u) = 1 7.35/3.17 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.35/3.17 7.35/3.17 U32(tt, V) -> U33(isQid(V)) 7.35/3.17 U43(tt, V1, V2) -> U44(isPalListKind(V2), V1, V2) 7.35/3.17 U53(tt, V1, V2) -> U54(isPalListKind(V2), V1, V2) 7.35/3.17 U55(tt, V2) -> U56(isList(V2)) 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (12) 7.35/3.17 Obligation: 7.35/3.17 Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.17 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.17 U12(tt, V) -> U13(isNeList(V)) 7.35/3.17 U13(tt) -> tt 7.35/3.17 U26(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U33(tt) -> tt 7.35/3.17 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.17 U42(tt, V1, V2) -> U43(isPalListKind(V2), V1, V2) 7.35/3.17 U46(tt) -> tt 7.35/3.17 U52(tt, V1, V2) -> U53(isPalListKind(V2), V1, V2) 7.35/3.17 U56(tt) -> tt 7.35/3.17 U63(tt) -> tt 7.35/3.17 U72(tt, P) -> U73(isPal(P), P) 7.35/3.17 U74(tt) -> tt 7.35/3.17 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.17 U82(tt, V) -> U83(isNePal(V)) 7.35/3.17 U83(tt) -> tt 7.35/3.17 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isList(V) -> U11(isPalListKind(V), V) 7.35/3.17 isList(nil) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.17 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.17 isPalListKind(a) -> tt 7.35/3.17 isPalListKind(e) -> tt 7.35/3.17 isPalListKind(i) -> tt 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 isPalListKind(o) -> tt 7.35/3.17 isPalListKind(u) -> tt 7.35/3.17 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.17 isQid(a) -> tt 7.35/3.17 isQid(e) -> tt 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 __: {1, 2} 7.35/3.17 nil: empty set 7.35/3.17 U11: {1} 7.35/3.17 tt: empty set 7.35/3.17 U12: {1} 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 isList: empty set 7.35/3.17 U26: {1} 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U33: {1} 7.35/3.17 isQid: empty set 7.35/3.17 U41: {1} 7.35/3.17 U42: {1} 7.35/3.17 U43: {1} 7.35/3.17 U46: {1} 7.35/3.17 U52: {1} 7.35/3.17 U53: {1} 7.35/3.17 U56: {1} 7.35/3.17 U61: {1} 7.35/3.17 U63: {1} 7.35/3.17 U72: {1} 7.35/3.17 U73: {1} 7.35/3.17 isPal: empty set 7.35/3.17 U74: {1} 7.35/3.17 U81: {1} 7.35/3.17 U82: {1} 7.35/3.17 U83: {1} 7.35/3.17 isNePal: empty set 7.35/3.17 U91: {1} 7.35/3.17 U92: {1} 7.35/3.17 a: empty set 7.35/3.17 e: empty set 7.35/3.17 i: empty set 7.35/3.17 o: empty set 7.35/3.17 u: empty set 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (13) CSRRRRProof (EQUIVALENT) 7.35/3.17 The following CSR is given: Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.17 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.17 U12(tt, V) -> U13(isNeList(V)) 7.35/3.17 U13(tt) -> tt 7.35/3.17 U26(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U33(tt) -> tt 7.35/3.17 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.17 U42(tt, V1, V2) -> U43(isPalListKind(V2), V1, V2) 7.35/3.17 U46(tt) -> tt 7.35/3.17 U52(tt, V1, V2) -> U53(isPalListKind(V2), V1, V2) 7.35/3.17 U56(tt) -> tt 7.35/3.17 U63(tt) -> tt 7.35/3.17 U72(tt, P) -> U73(isPal(P), P) 7.35/3.17 U74(tt) -> tt 7.35/3.17 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.17 U82(tt, V) -> U83(isNePal(V)) 7.35/3.17 U83(tt) -> tt 7.35/3.17 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isList(V) -> U11(isPalListKind(V), V) 7.35/3.17 isList(nil) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.17 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.17 isPalListKind(a) -> tt 7.35/3.17 isPalListKind(e) -> tt 7.35/3.17 isPalListKind(i) -> tt 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 isPalListKind(o) -> tt 7.35/3.17 isPalListKind(u) -> tt 7.35/3.17 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.17 isQid(a) -> tt 7.35/3.17 isQid(e) -> tt 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 __: {1, 2} 7.35/3.17 nil: empty set 7.35/3.17 U11: {1} 7.35/3.17 tt: empty set 7.35/3.17 U12: {1} 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 isList: empty set 7.35/3.17 U26: {1} 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U33: {1} 7.35/3.17 isQid: empty set 7.35/3.17 U41: {1} 7.35/3.17 U42: {1} 7.35/3.17 U43: {1} 7.35/3.17 U46: {1} 7.35/3.17 U52: {1} 7.35/3.17 U53: {1} 7.35/3.17 U56: {1} 7.35/3.17 U61: {1} 7.35/3.17 U63: {1} 7.35/3.17 U72: {1} 7.35/3.17 U73: {1} 7.35/3.17 isPal: empty set 7.35/3.17 U74: {1} 7.35/3.17 U81: {1} 7.35/3.17 U82: {1} 7.35/3.17 U83: {1} 7.35/3.17 isNePal: empty set 7.35/3.17 U91: {1} 7.35/3.17 U92: {1} 7.35/3.17 a: empty set 7.35/3.17 e: empty set 7.35/3.17 i: empty set 7.35/3.17 o: empty set 7.35/3.17 u: empty set 7.35/3.17 Used ordering: 7.35/3.17 Polynomial interpretation [POLO]: 7.35/3.17 7.35/3.17 POL(U11(x_1, x_2)) = x_1 7.35/3.17 POL(U12(x_1, x_2)) = x_1 7.35/3.17 POL(U13(x_1)) = x_1 7.35/3.17 POL(U26(x_1)) = x_1 7.35/3.17 POL(U31(x_1, x_2)) = x_1 7.35/3.17 POL(U32(x_1, x_2)) = x_1 7.35/3.17 POL(U33(x_1)) = x_1 7.35/3.17 POL(U41(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.17 POL(U42(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.17 POL(U43(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.17 POL(U46(x_1)) = x_1 7.35/3.17 POL(U52(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 7.35/3.17 POL(U53(x_1, x_2, x_3)) = x_1 + x_2 + x_3 7.35/3.17 POL(U56(x_1)) = x_1 7.35/3.17 POL(U61(x_1, x_2)) = x_1 + x_2 7.35/3.17 POL(U63(x_1)) = x_1 7.35/3.17 POL(U72(x_1, x_2)) = 1 + x_1 + x_2 7.35/3.17 POL(U73(x_1, x_2)) = x_1 7.35/3.17 POL(U74(x_1)) = x_1 7.35/3.17 POL(U81(x_1, x_2)) = x_1 + x_2 7.35/3.17 POL(U82(x_1, x_2)) = x_1 + x_2 7.35/3.17 POL(U83(x_1)) = x_1 7.35/3.17 POL(U91(x_1, x_2)) = x_1 7.35/3.17 POL(U92(x_1)) = x_1 7.35/3.17 POL(__(x_1, x_2)) = 1 + x_1 + x_2 7.35/3.17 POL(a) = 0 7.35/3.17 POL(e) = 0 7.35/3.17 POL(i) = 1 7.35/3.17 POL(isList(x_1)) = 1 7.35/3.17 POL(isNeList(x_1)) = 1 7.35/3.17 POL(isNePal(x_1)) = 1 + x_1 7.35/3.17 POL(isPal(x_1)) = 1 + x_1 7.35/3.17 POL(isPalListKind(x_1)) = 1 7.35/3.17 POL(isQid(x_1)) = 1 + x_1 7.35/3.17 POL(nil) = 1 7.35/3.17 POL(o) = 1 7.35/3.17 POL(tt) = 1 7.35/3.17 POL(u) = 1 7.35/3.17 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.35/3.17 7.35/3.17 U42(tt, V1, V2) -> U43(isPalListKind(V2), V1, V2) 7.35/3.17 U52(tt, V1, V2) -> U53(isPalListKind(V2), V1, V2) 7.35/3.17 U72(tt, P) -> U73(isPal(P), P) 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (14) 7.35/3.17 Obligation: 7.35/3.17 Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.17 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.17 U12(tt, V) -> U13(isNeList(V)) 7.35/3.17 U13(tt) -> tt 7.35/3.17 U26(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U33(tt) -> tt 7.35/3.17 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.17 U46(tt) -> tt 7.35/3.17 U56(tt) -> tt 7.35/3.17 U63(tt) -> tt 7.35/3.17 U74(tt) -> tt 7.35/3.17 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.17 U82(tt, V) -> U83(isNePal(V)) 7.35/3.17 U83(tt) -> tt 7.35/3.17 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isList(V) -> U11(isPalListKind(V), V) 7.35/3.17 isList(nil) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.17 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.17 isPalListKind(a) -> tt 7.35/3.17 isPalListKind(e) -> tt 7.35/3.17 isPalListKind(i) -> tt 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 isPalListKind(o) -> tt 7.35/3.17 isPalListKind(u) -> tt 7.35/3.17 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.17 isQid(a) -> tt 7.35/3.17 isQid(e) -> tt 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 __: {1, 2} 7.35/3.17 nil: empty set 7.35/3.17 U11: {1} 7.35/3.17 tt: empty set 7.35/3.17 U12: {1} 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 isList: empty set 7.35/3.17 U26: {1} 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U33: {1} 7.35/3.17 isQid: empty set 7.35/3.17 U41: {1} 7.35/3.17 U42: {1} 7.35/3.17 U46: {1} 7.35/3.17 U56: {1} 7.35/3.17 U61: {1} 7.35/3.17 U63: {1} 7.35/3.17 isPal: empty set 7.35/3.17 U74: {1} 7.35/3.17 U81: {1} 7.35/3.17 U82: {1} 7.35/3.17 U83: {1} 7.35/3.17 isNePal: empty set 7.35/3.17 U91: {1} 7.35/3.17 U92: {1} 7.35/3.17 a: empty set 7.35/3.17 e: empty set 7.35/3.17 i: empty set 7.35/3.17 o: empty set 7.35/3.17 u: empty set 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (15) CSRRRRProof (EQUIVALENT) 7.35/3.17 The following CSR is given: Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.17 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.17 U12(tt, V) -> U13(isNeList(V)) 7.35/3.17 U13(tt) -> tt 7.35/3.17 U26(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U33(tt) -> tt 7.35/3.17 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.17 U46(tt) -> tt 7.35/3.17 U56(tt) -> tt 7.35/3.17 U63(tt) -> tt 7.35/3.17 U74(tt) -> tt 7.35/3.17 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.17 U82(tt, V) -> U83(isNePal(V)) 7.35/3.17 U83(tt) -> tt 7.35/3.17 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isList(V) -> U11(isPalListKind(V), V) 7.35/3.17 isList(nil) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.17 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.17 isPalListKind(a) -> tt 7.35/3.17 isPalListKind(e) -> tt 7.35/3.17 isPalListKind(i) -> tt 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 isPalListKind(o) -> tt 7.35/3.17 isPalListKind(u) -> tt 7.35/3.17 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.17 isQid(a) -> tt 7.35/3.17 isQid(e) -> tt 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 __: {1, 2} 7.35/3.17 nil: empty set 7.35/3.17 U11: {1} 7.35/3.17 tt: empty set 7.35/3.17 U12: {1} 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 isList: empty set 7.35/3.17 U26: {1} 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U33: {1} 7.35/3.17 isQid: empty set 7.35/3.17 U41: {1} 7.35/3.17 U42: {1} 7.35/3.17 U46: {1} 7.35/3.17 U56: {1} 7.35/3.17 U61: {1} 7.35/3.17 U63: {1} 7.35/3.17 isPal: empty set 7.35/3.17 U74: {1} 7.35/3.17 U81: {1} 7.35/3.17 U82: {1} 7.35/3.17 U83: {1} 7.35/3.17 isNePal: empty set 7.35/3.17 U91: {1} 7.35/3.17 U92: {1} 7.35/3.17 a: empty set 7.35/3.17 e: empty set 7.35/3.17 i: empty set 7.35/3.17 o: empty set 7.35/3.17 u: empty set 7.35/3.17 Used ordering: 7.35/3.17 Polynomial interpretation [POLO]: 7.35/3.17 7.35/3.17 POL(U11(x_1, x_2)) = x_1 7.35/3.17 POL(U12(x_1, x_2)) = 2*x_1 7.35/3.17 POL(U13(x_1)) = x_1 7.35/3.17 POL(U26(x_1)) = 2 + x_1 7.35/3.17 POL(U31(x_1, x_2)) = 2*x_1 7.35/3.17 POL(U32(x_1, x_2)) = x_1 7.35/3.17 POL(U33(x_1)) = 1 + x_1 7.35/3.17 POL(U41(x_1, x_2, x_3)) = 1 + 2*x_1 + 2*x_2 + 2*x_3 7.35/3.17 POL(U42(x_1, x_2, x_3)) = x_1 + 2*x_2 + 2*x_3 7.35/3.17 POL(U46(x_1)) = 1 + x_1 7.35/3.17 POL(U56(x_1)) = 1 + x_1 7.35/3.17 POL(U61(x_1, x_2)) = 2*x_1 7.35/3.17 POL(U63(x_1)) = 1 + x_1 7.35/3.17 POL(U74(x_1)) = 1 + x_1 7.35/3.17 POL(U81(x_1, x_2)) = 1 + 2*x_1 7.35/3.17 POL(U82(x_1, x_2)) = 2*x_1 7.35/3.17 POL(U83(x_1)) = x_1 7.35/3.17 POL(U91(x_1, x_2)) = 2*x_1 7.35/3.17 POL(U92(x_1)) = x_1 7.35/3.17 POL(__(x_1, x_2)) = x_1 + x_2 7.35/3.17 POL(a) = 0 7.35/3.17 POL(e) = 0 7.35/3.17 POL(i) = 2 7.35/3.17 POL(isList(x_1)) = 0 7.35/3.17 POL(isNeList(x_1)) = 0 7.35/3.17 POL(isNePal(x_1)) = 0 7.35/3.17 POL(isPal(x_1)) = 2 + 2*x_1 7.35/3.17 POL(isPalListKind(x_1)) = 0 7.35/3.17 POL(isQid(x_1)) = 2 7.35/3.17 POL(nil) = 0 7.35/3.17 POL(o) = 2 7.35/3.17 POL(tt) = 0 7.35/3.17 POL(u) = 2 7.35/3.17 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.35/3.17 7.35/3.17 U26(tt) -> tt 7.35/3.17 U33(tt) -> tt 7.35/3.17 U41(tt, V1, V2) -> U42(isPalListKind(V1), V1, V2) 7.35/3.17 U46(tt) -> tt 7.35/3.17 U56(tt) -> tt 7.35/3.17 U63(tt) -> tt 7.35/3.17 U74(tt) -> tt 7.35/3.17 U81(tt, V) -> U82(isPalListKind(V), V) 7.35/3.17 isPal(V) -> U81(isPalListKind(V), V) 7.35/3.17 isQid(a) -> tt 7.35/3.17 isQid(e) -> tt 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (16) 7.35/3.17 Obligation: 7.35/3.17 Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.17 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.17 U12(tt, V) -> U13(isNeList(V)) 7.35/3.17 U13(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U82(tt, V) -> U83(isNePal(V)) 7.35/3.17 U83(tt) -> tt 7.35/3.17 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isList(V) -> U11(isPalListKind(V), V) 7.35/3.17 isList(nil) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.17 isPalListKind(a) -> tt 7.35/3.17 isPalListKind(e) -> tt 7.35/3.17 isPalListKind(i) -> tt 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 isPalListKind(o) -> tt 7.35/3.17 isPalListKind(u) -> tt 7.35/3.17 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 __: {1, 2} 7.35/3.17 nil: empty set 7.35/3.17 U11: {1} 7.35/3.17 tt: empty set 7.35/3.17 U12: {1} 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 isList: empty set 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U61: {1} 7.35/3.17 U82: {1} 7.35/3.17 U83: {1} 7.35/3.17 isNePal: empty set 7.35/3.17 U91: {1} 7.35/3.17 U92: {1} 7.35/3.17 a: empty set 7.35/3.17 e: empty set 7.35/3.17 i: empty set 7.35/3.17 o: empty set 7.35/3.17 u: empty set 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (17) CSRRRRProof (EQUIVALENT) 7.35/3.17 The following CSR is given: Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.17 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.17 U12(tt, V) -> U13(isNeList(V)) 7.35/3.17 U13(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U82(tt, V) -> U83(isNePal(V)) 7.35/3.17 U83(tt) -> tt 7.35/3.17 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isList(V) -> U11(isPalListKind(V), V) 7.35/3.17 isList(nil) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.17 isPalListKind(a) -> tt 7.35/3.17 isPalListKind(e) -> tt 7.35/3.17 isPalListKind(i) -> tt 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 isPalListKind(o) -> tt 7.35/3.17 isPalListKind(u) -> tt 7.35/3.17 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 __: {1, 2} 7.35/3.17 nil: empty set 7.35/3.17 U11: {1} 7.35/3.17 tt: empty set 7.35/3.17 U12: {1} 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 isList: empty set 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U61: {1} 7.35/3.17 U82: {1} 7.35/3.17 U83: {1} 7.35/3.17 isNePal: empty set 7.35/3.17 U91: {1} 7.35/3.17 U92: {1} 7.35/3.17 a: empty set 7.35/3.17 e: empty set 7.35/3.17 i: empty set 7.35/3.17 o: empty set 7.35/3.17 u: empty set 7.35/3.17 Used ordering: 7.35/3.17 Polynomial interpretation [POLO]: 7.35/3.17 7.35/3.17 POL(U11(x_1, x_2)) = x_1 7.35/3.17 POL(U12(x_1, x_2)) = x_1 7.35/3.17 POL(U13(x_1)) = x_1 7.35/3.17 POL(U31(x_1, x_2)) = x_1 7.35/3.17 POL(U32(x_1, x_2)) = x_1 7.35/3.17 POL(U61(x_1, x_2)) = x_1 + x_2 7.35/3.17 POL(U82(x_1, x_2)) = 1 + x_1 + x_2 7.35/3.17 POL(U83(x_1)) = 1 + x_1 7.35/3.17 POL(U91(x_1, x_2)) = x_1 7.35/3.17 POL(U92(x_1)) = x_1 7.35/3.17 POL(__(x_1, x_2)) = 1 + x_1 + x_2 7.35/3.17 POL(a) = 1 7.35/3.17 POL(e) = 1 7.35/3.17 POL(i) = 1 7.35/3.17 POL(isList(x_1)) = 1 7.35/3.17 POL(isNeList(x_1)) = 1 7.35/3.17 POL(isNePal(x_1)) = 1 + x_1 7.35/3.17 POL(isPalListKind(x_1)) = 1 7.35/3.17 POL(nil) = 1 7.35/3.17 POL(o) = 1 7.35/3.17 POL(tt) = 1 7.35/3.17 POL(u) = 1 7.35/3.17 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.35/3.17 7.35/3.17 U83(tt) -> tt 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (18) 7.35/3.17 Obligation: 7.35/3.17 Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.17 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.17 U12(tt, V) -> U13(isNeList(V)) 7.35/3.17 U13(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U82(tt, V) -> U83(isNePal(V)) 7.35/3.17 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isList(V) -> U11(isPalListKind(V), V) 7.35/3.17 isList(nil) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.17 isPalListKind(a) -> tt 7.35/3.17 isPalListKind(e) -> tt 7.35/3.17 isPalListKind(i) -> tt 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 isPalListKind(o) -> tt 7.35/3.17 isPalListKind(u) -> tt 7.35/3.17 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 __: {1, 2} 7.35/3.17 nil: empty set 7.35/3.17 U11: {1} 7.35/3.17 tt: empty set 7.35/3.17 U12: {1} 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 isList: empty set 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U61: {1} 7.35/3.17 U82: {1} 7.35/3.17 U83: {1} 7.35/3.17 isNePal: empty set 7.35/3.17 U91: {1} 7.35/3.17 U92: {1} 7.35/3.17 a: empty set 7.35/3.17 e: empty set 7.35/3.17 i: empty set 7.35/3.17 o: empty set 7.35/3.17 u: empty set 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (19) CSRRRRProof (EQUIVALENT) 7.35/3.17 The following CSR is given: Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.17 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.17 U12(tt, V) -> U13(isNeList(V)) 7.35/3.17 U13(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U82(tt, V) -> U83(isNePal(V)) 7.35/3.17 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isList(V) -> U11(isPalListKind(V), V) 7.35/3.17 isList(nil) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.17 isPalListKind(a) -> tt 7.35/3.17 isPalListKind(e) -> tt 7.35/3.17 isPalListKind(i) -> tt 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 isPalListKind(o) -> tt 7.35/3.17 isPalListKind(u) -> tt 7.35/3.17 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 __: {1, 2} 7.35/3.17 nil: empty set 7.35/3.17 U11: {1} 7.35/3.17 tt: empty set 7.35/3.17 U12: {1} 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 isList: empty set 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U61: {1} 7.35/3.17 U82: {1} 7.35/3.17 U83: {1} 7.35/3.17 isNePal: empty set 7.35/3.17 U91: {1} 7.35/3.17 U92: {1} 7.35/3.17 a: empty set 7.35/3.17 e: empty set 7.35/3.17 i: empty set 7.35/3.17 o: empty set 7.35/3.17 u: empty set 7.35/3.17 Used ordering: 7.35/3.17 Polynomial interpretation [POLO]: 7.35/3.17 7.35/3.17 POL(U11(x_1, x_2)) = 2*x_1 7.35/3.17 POL(U12(x_1, x_2)) = x_1 7.35/3.17 POL(U13(x_1)) = 2*x_1 7.35/3.17 POL(U31(x_1, x_2)) = x_1 7.35/3.17 POL(U32(x_1, x_2)) = x_1 7.35/3.17 POL(U61(x_1, x_2)) = 2*x_1 + 2*x_2 7.35/3.17 POL(U82(x_1, x_2)) = 1 + x_1 + 2*x_2 7.35/3.17 POL(U83(x_1)) = x_1 7.35/3.17 POL(U91(x_1, x_2)) = 2*x_1 7.35/3.17 POL(U92(x_1)) = x_1 7.35/3.17 POL(__(x_1, x_2)) = 2*x_1 + x_2 7.35/3.17 POL(a) = 2 7.35/3.17 POL(e) = 2 7.35/3.17 POL(i) = 2 7.35/3.17 POL(isList(x_1)) = 0 7.35/3.17 POL(isNeList(x_1)) = 0 7.35/3.17 POL(isNePal(x_1)) = 1 + 2*x_1 7.35/3.17 POL(isPalListKind(x_1)) = 0 7.35/3.17 POL(nil) = 0 7.35/3.17 POL(o) = 2 7.35/3.17 POL(tt) = 0 7.35/3.17 POL(u) = 2 7.35/3.17 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.35/3.17 7.35/3.17 isNePal(V) -> U61(isPalListKind(V), V) 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (20) 7.35/3.17 Obligation: 7.35/3.17 Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.17 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.17 U12(tt, V) -> U13(isNeList(V)) 7.35/3.17 U13(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U82(tt, V) -> U83(isNePal(V)) 7.35/3.17 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isList(V) -> U11(isPalListKind(V), V) 7.35/3.17 isList(nil) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isPalListKind(a) -> tt 7.35/3.17 isPalListKind(e) -> tt 7.35/3.17 isPalListKind(i) -> tt 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 isPalListKind(o) -> tt 7.35/3.17 isPalListKind(u) -> tt 7.35/3.17 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 __: {1, 2} 7.35/3.17 nil: empty set 7.35/3.17 U11: {1} 7.35/3.17 tt: empty set 7.35/3.17 U12: {1} 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 isList: empty set 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U82: {1} 7.35/3.17 U83: {1} 7.35/3.17 isNePal: empty set 7.35/3.17 U91: {1} 7.35/3.17 U92: {1} 7.35/3.17 a: empty set 7.35/3.17 e: empty set 7.35/3.17 i: empty set 7.35/3.17 o: empty set 7.35/3.17 u: empty set 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (21) CSRRRRProof (EQUIVALENT) 7.35/3.17 The following CSR is given: Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.17 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.17 U12(tt, V) -> U13(isNeList(V)) 7.35/3.17 U13(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U82(tt, V) -> U83(isNePal(V)) 7.35/3.17 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isList(V) -> U11(isPalListKind(V), V) 7.35/3.17 isList(nil) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isPalListKind(a) -> tt 7.35/3.17 isPalListKind(e) -> tt 7.35/3.17 isPalListKind(i) -> tt 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 isPalListKind(o) -> tt 7.35/3.17 isPalListKind(u) -> tt 7.35/3.17 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 __: {1, 2} 7.35/3.17 nil: empty set 7.35/3.17 U11: {1} 7.35/3.17 tt: empty set 7.35/3.17 U12: {1} 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 isList: empty set 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U82: {1} 7.35/3.17 U83: {1} 7.35/3.17 isNePal: empty set 7.35/3.17 U91: {1} 7.35/3.17 U92: {1} 7.35/3.17 a: empty set 7.35/3.17 e: empty set 7.35/3.17 i: empty set 7.35/3.17 o: empty set 7.35/3.17 u: empty set 7.35/3.17 Used ordering: 7.35/3.17 Polynomial interpretation [POLO]: 7.35/3.17 7.35/3.17 POL(U11(x_1, x_2)) = 2*x_1 7.35/3.17 POL(U12(x_1, x_2)) = 2*x_1 7.35/3.17 POL(U13(x_1)) = x_1 7.35/3.17 POL(U31(x_1, x_2)) = 2*x_1 7.35/3.17 POL(U32(x_1, x_2)) = 2*x_1 7.35/3.17 POL(U82(x_1, x_2)) = 2 + x_1 + 2*x_2 7.35/3.17 POL(U83(x_1)) = 1 + 2*x_1 7.35/3.17 POL(U91(x_1, x_2)) = 2*x_1 7.35/3.17 POL(U92(x_1)) = x_1 7.35/3.17 POL(__(x_1, x_2)) = 2*x_1 + x_2 7.35/3.17 POL(a) = 2 7.35/3.17 POL(e) = 2 7.35/3.17 POL(i) = 2 7.35/3.17 POL(isList(x_1)) = 1 7.35/3.17 POL(isNeList(x_1)) = 0 7.35/3.17 POL(isNePal(x_1)) = x_1 7.35/3.17 POL(isPalListKind(x_1)) = 0 7.35/3.17 POL(nil) = 0 7.35/3.17 POL(o) = 2 7.35/3.17 POL(tt) = 0 7.35/3.17 POL(u) = 2 7.35/3.17 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.35/3.17 7.35/3.17 U82(tt, V) -> U83(isNePal(V)) 7.35/3.17 isList(V) -> U11(isPalListKind(V), V) 7.35/3.17 isList(nil) -> tt 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (22) 7.35/3.17 Obligation: 7.35/3.17 Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.17 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.17 U12(tt, V) -> U13(isNeList(V)) 7.35/3.17 U13(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isPalListKind(a) -> tt 7.35/3.17 isPalListKind(e) -> tt 7.35/3.17 isPalListKind(i) -> tt 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 isPalListKind(o) -> tt 7.35/3.17 isPalListKind(u) -> tt 7.35/3.17 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 __: {1, 2} 7.35/3.17 nil: empty set 7.35/3.17 U11: {1} 7.35/3.17 tt: empty set 7.35/3.17 U12: {1} 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U91: {1} 7.35/3.17 U92: {1} 7.35/3.17 a: empty set 7.35/3.17 e: empty set 7.35/3.17 i: empty set 7.35/3.17 o: empty set 7.35/3.17 u: empty set 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (23) CSRRRRProof (EQUIVALENT) 7.35/3.17 The following CSR is given: Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.17 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.17 U12(tt, V) -> U13(isNeList(V)) 7.35/3.17 U13(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isPalListKind(a) -> tt 7.35/3.17 isPalListKind(e) -> tt 7.35/3.17 isPalListKind(i) -> tt 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 isPalListKind(o) -> tt 7.35/3.17 isPalListKind(u) -> tt 7.35/3.17 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 __: {1, 2} 7.35/3.17 nil: empty set 7.35/3.17 U11: {1} 7.35/3.17 tt: empty set 7.35/3.17 U12: {1} 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U91: {1} 7.35/3.17 U92: {1} 7.35/3.17 a: empty set 7.35/3.17 e: empty set 7.35/3.17 i: empty set 7.35/3.17 o: empty set 7.35/3.17 u: empty set 7.35/3.17 Used ordering: 7.35/3.17 Polynomial interpretation [POLO]: 7.35/3.17 7.35/3.17 POL(U11(x_1, x_2)) = 1 + x_1 + x_2 7.35/3.17 POL(U12(x_1, x_2)) = x_1 + x_2 7.35/3.17 POL(U13(x_1)) = x_1 7.35/3.17 POL(U31(x_1, x_2)) = x_1 + x_2 7.35/3.17 POL(U32(x_1, x_2)) = x_1 + x_2 7.35/3.17 POL(U91(x_1, x_2)) = x_1 7.35/3.17 POL(U92(x_1)) = x_1 7.35/3.17 POL(__(x_1, x_2)) = 1 + x_1 + x_2 7.35/3.17 POL(a) = 1 7.35/3.17 POL(e) = 1 7.35/3.17 POL(i) = 1 7.35/3.17 POL(isNeList(x_1)) = x_1 7.35/3.17 POL(isPalListKind(x_1)) = 0 7.35/3.17 POL(nil) = 1 7.35/3.17 POL(o) = 1 7.35/3.17 POL(tt) = 0 7.35/3.17 POL(u) = 1 7.35/3.17 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.35/3.17 7.35/3.17 U11(tt, V) -> U12(isPalListKind(V), V) 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (24) 7.35/3.17 Obligation: 7.35/3.17 Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.17 U12(tt, V) -> U13(isNeList(V)) 7.35/3.17 U13(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isPalListKind(a) -> tt 7.35/3.17 isPalListKind(e) -> tt 7.35/3.17 isPalListKind(i) -> tt 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 isPalListKind(o) -> tt 7.35/3.17 isPalListKind(u) -> tt 7.35/3.17 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 __: {1, 2} 7.35/3.17 nil: empty set 7.35/3.17 tt: empty set 7.35/3.17 U12: {1} 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U91: {1} 7.35/3.17 U92: {1} 7.35/3.17 a: empty set 7.35/3.17 e: empty set 7.35/3.17 i: empty set 7.35/3.17 o: empty set 7.35/3.17 u: empty set 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (25) CSRRRRProof (EQUIVALENT) 7.35/3.17 The following CSR is given: Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.17 U12(tt, V) -> U13(isNeList(V)) 7.35/3.17 U13(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isPalListKind(a) -> tt 7.35/3.17 isPalListKind(e) -> tt 7.35/3.17 isPalListKind(i) -> tt 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 isPalListKind(o) -> tt 7.35/3.17 isPalListKind(u) -> tt 7.35/3.17 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 __: {1, 2} 7.35/3.17 nil: empty set 7.35/3.17 tt: empty set 7.35/3.17 U12: {1} 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U91: {1} 7.35/3.17 U92: {1} 7.35/3.17 a: empty set 7.35/3.17 e: empty set 7.35/3.17 i: empty set 7.35/3.17 o: empty set 7.35/3.17 u: empty set 7.35/3.17 Used ordering: 7.35/3.17 Polynomial interpretation [POLO]: 7.35/3.17 7.35/3.17 POL(U12(x_1, x_2)) = 1 + x_1 + 2*x_2 7.35/3.17 POL(U13(x_1)) = x_1 7.35/3.17 POL(U31(x_1, x_2)) = x_1 + x_2 7.35/3.17 POL(U32(x_1, x_2)) = x_1 7.35/3.17 POL(U91(x_1, x_2)) = 1 + x_1 + x_2 7.35/3.17 POL(U92(x_1)) = x_1 7.35/3.17 POL(__(x_1, x_2)) = 2 + 2*x_1 + x_2 7.35/3.17 POL(a) = 2 7.35/3.17 POL(e) = 2 7.35/3.17 POL(i) = 2 7.35/3.17 POL(isNeList(x_1)) = 2 + 2*x_1 7.35/3.17 POL(isPalListKind(x_1)) = 2 + x_1 7.35/3.17 POL(nil) = 0 7.35/3.17 POL(o) = 1 7.35/3.17 POL(tt) = 2 7.35/3.17 POL(u) = 2 7.35/3.17 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.35/3.17 7.35/3.17 __(__(X, Y), Z) -> __(X, __(Y, Z)) 7.35/3.17 U12(tt, V) -> U13(isNeList(V)) 7.35/3.17 U91(tt, V2) -> U92(isPalListKind(V2)) 7.35/3.17 isPalListKind(a) -> tt 7.35/3.17 isPalListKind(e) -> tt 7.35/3.17 isPalListKind(i) -> tt 7.35/3.17 isPalListKind(o) -> tt 7.35/3.17 isPalListKind(u) -> tt 7.35/3.17 isPalListKind(__(V1, V2)) -> U91(isPalListKind(V1), V2) 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (26) 7.35/3.17 Obligation: 7.35/3.17 Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 U13(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 nil: empty set 7.35/3.17 tt: empty set 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U92: {1} 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (27) CSRRRRProof (EQUIVALENT) 7.35/3.17 The following CSR is given: Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 U13(tt) -> tt 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 U92(tt) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 nil: empty set 7.35/3.17 tt: empty set 7.35/3.17 isPalListKind: empty set 7.35/3.17 U13: {1} 7.35/3.17 isNeList: empty set 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 U92: {1} 7.35/3.17 Used ordering: 7.35/3.17 Polynomial interpretation [POLO]: 7.35/3.17 7.35/3.17 POL(U13(x_1)) = 2 + 2*x_1 7.35/3.17 POL(U31(x_1, x_2)) = x_1 7.35/3.17 POL(U32(x_1, x_2)) = 2*x_1 7.35/3.17 POL(U92(x_1)) = 2 + x_1 7.35/3.17 POL(isNeList(x_1)) = 1 + 2*x_1 7.35/3.17 POL(isPalListKind(x_1)) = 0 7.35/3.17 POL(nil) = 2 7.35/3.17 POL(tt) = 0 7.35/3.17 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.35/3.17 7.35/3.17 U13(tt) -> tt 7.35/3.17 U92(tt) -> tt 7.35/3.17 isNeList(V) -> U31(isPalListKind(V), V) 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (28) 7.35/3.17 Obligation: 7.35/3.17 Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 nil: empty set 7.35/3.17 tt: empty set 7.35/3.17 isPalListKind: empty set 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (29) CSRRRRProof (EQUIVALENT) 7.35/3.17 The following CSR is given: Context-sensitive rewrite system: 7.35/3.17 The TRS R consists of the following rules: 7.35/3.17 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 7.35/3.17 The replacement map contains the following entries: 7.35/3.17 7.35/3.17 nil: empty set 7.35/3.17 tt: empty set 7.35/3.17 isPalListKind: empty set 7.35/3.17 U31: {1} 7.35/3.17 U32: {1} 7.35/3.17 Used ordering: 7.35/3.17 Polynomial interpretation [POLO]: 7.35/3.17 7.35/3.17 POL(U31(x_1, x_2)) = 2 + 2*x_1 + 2*x_2 7.35/3.17 POL(U32(x_1, x_2)) = 1 + 2*x_1 7.35/3.17 POL(isPalListKind(x_1)) = 2 + x_1 7.35/3.17 POL(nil) = 2 7.35/3.17 POL(tt) = 2 7.35/3.17 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 7.35/3.17 7.35/3.17 U31(tt, V) -> U32(isPalListKind(V), V) 7.35/3.17 isPalListKind(nil) -> tt 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (30) 7.35/3.17 Obligation: 7.35/3.17 Context-sensitive rewrite system: 7.35/3.17 R is empty. 7.35/3.17 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (31) RisEmptyProof (EQUIVALENT) 7.35/3.17 The CSR R is empty. Hence, termination is trivially proven. 7.35/3.17 ---------------------------------------- 7.35/3.17 7.35/3.17 (32) 7.35/3.17 YES 7.56/3.25 EOF