3.50/1.55 YES 3.50/1.57 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 3.50/1.57 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 3.50/1.57 3.50/1.57 3.50/1.57 Termination of the given CSR could be proven: 3.50/1.57 3.50/1.57 (0) CSR 3.50/1.57 (1) CSRRRRProof [EQUIVALENT, 101 ms] 3.50/1.57 (2) CSR 3.50/1.57 (3) CSRRRRProof [EQUIVALENT, 0 ms] 3.50/1.57 (4) CSR 3.50/1.57 (5) CSRRRRProof [EQUIVALENT, 0 ms] 3.50/1.57 (6) CSR 3.50/1.57 (7) CSRRRRProof [EQUIVALENT, 2 ms] 3.50/1.57 (8) CSR 3.50/1.57 (9) CSRRRRProof [EQUIVALENT, 0 ms] 3.50/1.57 (10) CSR 3.50/1.57 (11) RisEmptyProof [EQUIVALENT, 0 ms] 3.50/1.57 (12) YES 3.50/1.57 3.50/1.57 3.50/1.57 ---------------------------------------- 3.50/1.57 3.50/1.57 (0) 3.50/1.57 Obligation: 3.50/1.57 Context-sensitive rewrite system: 3.50/1.57 The TRS R consists of the following rules: 3.50/1.57 3.50/1.57 __(__(X, Y), Z) -> __(X, __(Y, Z)) 3.50/1.57 __(X, nil) -> X 3.50/1.57 __(nil, X) -> X 3.50/1.57 U11(tt) -> tt 3.50/1.57 U21(tt, V2) -> U22(isList(V2)) 3.50/1.57 U22(tt) -> tt 3.50/1.57 U31(tt) -> tt 3.50/1.57 U41(tt, V2) -> U42(isNeList(V2)) 3.50/1.57 U42(tt) -> tt 3.50/1.57 U51(tt, V2) -> U52(isList(V2)) 3.50/1.57 U52(tt) -> tt 3.50/1.57 U61(tt) -> tt 3.50/1.57 U71(tt, P) -> U72(isPal(P)) 3.50/1.57 U72(tt) -> tt 3.50/1.57 U81(tt) -> tt 3.50/1.57 isList(V) -> U11(isNeList(V)) 3.50/1.57 isList(nil) -> tt 3.50/1.57 isList(__(V1, V2)) -> U21(isList(V1), V2) 3.50/1.57 isNeList(V) -> U31(isQid(V)) 3.50/1.57 isNeList(__(V1, V2)) -> U41(isList(V1), V2) 3.50/1.57 isNeList(__(V1, V2)) -> U51(isNeList(V1), V2) 3.50/1.57 isNePal(V) -> U61(isQid(V)) 3.50/1.57 isNePal(__(I, __(P, I))) -> U71(isQid(I), P) 3.50/1.57 isPal(V) -> U81(isNePal(V)) 3.50/1.57 isPal(nil) -> tt 3.50/1.57 isQid(a) -> tt 3.50/1.57 isQid(e) -> tt 3.50/1.57 isQid(i) -> tt 3.50/1.57 isQid(o) -> tt 3.50/1.57 isQid(u) -> tt 3.50/1.57 3.50/1.57 The replacement map contains the following entries: 3.50/1.57 3.50/1.57 __: {1, 2} 3.50/1.57 nil: empty set 3.50/1.57 U11: {1} 3.50/1.57 tt: empty set 3.50/1.57 U21: {1} 3.50/1.57 U22: {1} 3.50/1.57 isList: empty set 3.50/1.57 U31: {1} 3.50/1.57 U41: {1} 3.50/1.57 U42: {1} 3.50/1.57 isNeList: empty set 3.50/1.57 U51: {1} 3.50/1.57 U52: {1} 3.50/1.57 U61: {1} 3.50/1.57 U71: {1} 3.50/1.57 U72: {1} 3.50/1.57 isPal: empty set 3.50/1.57 U81: {1} 3.50/1.57 isQid: empty set 3.50/1.57 isNePal: empty set 3.50/1.57 a: empty set 3.50/1.57 e: empty set 3.50/1.57 i: empty set 3.50/1.57 o: empty set 3.50/1.57 u: empty set 3.50/1.57 3.50/1.57 ---------------------------------------- 3.50/1.57 3.50/1.57 (1) CSRRRRProof (EQUIVALENT) 3.50/1.57 The following CSR is given: Context-sensitive rewrite system: 3.50/1.57 The TRS R consists of the following rules: 3.50/1.57 3.50/1.57 __(__(X, Y), Z) -> __(X, __(Y, Z)) 3.50/1.57 __(X, nil) -> X 3.50/1.57 __(nil, X) -> X 3.50/1.57 U11(tt) -> tt 3.50/1.57 U21(tt, V2) -> U22(isList(V2)) 3.50/1.57 U22(tt) -> tt 3.50/1.57 U31(tt) -> tt 3.50/1.57 U41(tt, V2) -> U42(isNeList(V2)) 3.50/1.57 U42(tt) -> tt 3.50/1.57 U51(tt, V2) -> U52(isList(V2)) 3.50/1.57 U52(tt) -> tt 3.50/1.57 U61(tt) -> tt 3.50/1.57 U71(tt, P) -> U72(isPal(P)) 3.50/1.57 U72(tt) -> tt 3.50/1.57 U81(tt) -> tt 3.50/1.57 isList(V) -> U11(isNeList(V)) 3.50/1.57 isList(nil) -> tt 3.50/1.57 isList(__(V1, V2)) -> U21(isList(V1), V2) 3.50/1.57 isNeList(V) -> U31(isQid(V)) 3.50/1.57 isNeList(__(V1, V2)) -> U41(isList(V1), V2) 3.50/1.57 isNeList(__(V1, V2)) -> U51(isNeList(V1), V2) 3.50/1.57 isNePal(V) -> U61(isQid(V)) 3.50/1.57 isNePal(__(I, __(P, I))) -> U71(isQid(I), P) 3.50/1.57 isPal(V) -> U81(isNePal(V)) 3.50/1.57 isPal(nil) -> tt 3.50/1.57 isQid(a) -> tt 3.50/1.57 isQid(e) -> tt 3.50/1.57 isQid(i) -> tt 3.50/1.57 isQid(o) -> tt 3.50/1.57 isQid(u) -> tt 3.50/1.57 3.50/1.57 The replacement map contains the following entries: 3.50/1.57 3.50/1.57 __: {1, 2} 3.50/1.57 nil: empty set 3.50/1.57 U11: {1} 3.50/1.57 tt: empty set 3.50/1.57 U21: {1} 3.50/1.57 U22: {1} 3.50/1.57 isList: empty set 3.50/1.57 U31: {1} 3.50/1.57 U41: {1} 3.50/1.57 U42: {1} 3.50/1.57 isNeList: empty set 3.50/1.57 U51: {1} 3.50/1.57 U52: {1} 3.50/1.57 U61: {1} 3.50/1.57 U71: {1} 3.50/1.57 U72: {1} 3.50/1.57 isPal: empty set 3.50/1.57 U81: {1} 3.50/1.57 isQid: empty set 3.50/1.57 isNePal: empty set 3.50/1.57 a: empty set 3.50/1.57 e: empty set 3.50/1.57 i: empty set 3.50/1.57 o: empty set 3.50/1.57 u: empty set 3.50/1.57 Used ordering: 3.50/1.57 Polynomial interpretation [POLO]: 3.50/1.57 3.50/1.57 POL(U11(x_1)) = x_1 3.50/1.57 POL(U21(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 3.50/1.57 POL(U22(x_1)) = 1 + x_1 3.50/1.57 POL(U31(x_1)) = x_1 3.50/1.57 POL(U41(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 3.50/1.57 POL(U42(x_1)) = 1 + x_1 3.50/1.57 POL(U51(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 3.50/1.57 POL(U52(x_1)) = 1 + x_1 3.50/1.57 POL(U61(x_1)) = x_1 3.50/1.57 POL(U71(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 3.50/1.57 POL(U72(x_1)) = 1 + x_1 3.50/1.57 POL(U81(x_1)) = x_1 3.50/1.57 POL(__(x_1, x_2)) = 2 + 2*x_1 + x_2 3.50/1.57 POL(a) = 0 3.50/1.57 POL(e) = 2 3.50/1.57 POL(i) = 0 3.50/1.57 POL(isList(x_1)) = 2 + 2*x_1 3.50/1.57 POL(isNeList(x_1)) = 2 + 2*x_1 3.50/1.57 POL(isNePal(x_1)) = 2 + 2*x_1 3.50/1.57 POL(isPal(x_1)) = 2 + 2*x_1 3.50/1.57 POL(isQid(x_1)) = 2 + 2*x_1 3.50/1.57 POL(nil) = 0 3.50/1.57 POL(o) = 2 3.50/1.57 POL(tt) = 1 3.50/1.57 POL(u) = 0 3.50/1.57 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 3.50/1.57 3.50/1.57 __(__(X, Y), Z) -> __(X, __(Y, Z)) 3.50/1.57 __(X, nil) -> X 3.50/1.57 __(nil, X) -> X 3.50/1.57 U22(tt) -> tt 3.50/1.57 U42(tt) -> tt 3.50/1.57 U52(tt) -> tt 3.50/1.57 U72(tt) -> tt 3.50/1.57 isList(nil) -> tt 3.50/1.57 isList(__(V1, V2)) -> U21(isList(V1), V2) 3.50/1.57 isNeList(__(V1, V2)) -> U41(isList(V1), V2) 3.50/1.57 isNeList(__(V1, V2)) -> U51(isNeList(V1), V2) 3.50/1.57 isNePal(__(I, __(P, I))) -> U71(isQid(I), P) 3.50/1.57 isPal(nil) -> tt 3.50/1.57 isQid(a) -> tt 3.50/1.57 isQid(e) -> tt 3.50/1.57 isQid(i) -> tt 3.50/1.57 isQid(o) -> tt 3.50/1.57 isQid(u) -> tt 3.50/1.57 3.50/1.57 3.50/1.57 3.50/1.57 3.50/1.57 ---------------------------------------- 3.50/1.57 3.50/1.57 (2) 3.50/1.57 Obligation: 3.50/1.57 Context-sensitive rewrite system: 3.50/1.57 The TRS R consists of the following rules: 3.50/1.57 3.50/1.57 U11(tt) -> tt 3.50/1.57 U21(tt, V2) -> U22(isList(V2)) 3.50/1.57 U31(tt) -> tt 3.50/1.57 U41(tt, V2) -> U42(isNeList(V2)) 3.50/1.57 U51(tt, V2) -> U52(isList(V2)) 3.50/1.57 U61(tt) -> tt 3.50/1.57 U71(tt, P) -> U72(isPal(P)) 3.50/1.57 U81(tt) -> tt 3.50/1.57 isList(V) -> U11(isNeList(V)) 3.50/1.57 isNeList(V) -> U31(isQid(V)) 3.50/1.57 isNePal(V) -> U61(isQid(V)) 3.50/1.57 isPal(V) -> U81(isNePal(V)) 3.50/1.57 3.50/1.57 The replacement map contains the following entries: 3.50/1.57 3.50/1.57 U11: {1} 3.50/1.57 tt: empty set 3.50/1.57 U21: {1} 3.50/1.57 U22: {1} 3.50/1.57 isList: empty set 3.50/1.57 U31: {1} 3.50/1.57 U41: {1} 3.50/1.57 U42: {1} 3.50/1.57 isNeList: empty set 3.50/1.57 U51: {1} 3.50/1.57 U52: {1} 3.50/1.57 U61: {1} 3.50/1.57 U71: {1} 3.50/1.57 U72: {1} 3.50/1.57 isPal: empty set 3.50/1.57 U81: {1} 3.50/1.57 isQid: empty set 3.50/1.57 isNePal: empty set 3.50/1.57 3.50/1.57 ---------------------------------------- 3.50/1.57 3.50/1.57 (3) CSRRRRProof (EQUIVALENT) 3.50/1.57 The following CSR is given: Context-sensitive rewrite system: 3.50/1.57 The TRS R consists of the following rules: 3.50/1.57 3.50/1.57 U11(tt) -> tt 3.50/1.57 U21(tt, V2) -> U22(isList(V2)) 3.50/1.57 U31(tt) -> tt 3.50/1.57 U41(tt, V2) -> U42(isNeList(V2)) 3.50/1.57 U51(tt, V2) -> U52(isList(V2)) 3.50/1.57 U61(tt) -> tt 3.50/1.57 U71(tt, P) -> U72(isPal(P)) 3.50/1.57 U81(tt) -> tt 3.50/1.57 isList(V) -> U11(isNeList(V)) 3.50/1.57 isNeList(V) -> U31(isQid(V)) 3.50/1.57 isNePal(V) -> U61(isQid(V)) 3.50/1.57 isPal(V) -> U81(isNePal(V)) 3.50/1.57 3.50/1.57 The replacement map contains the following entries: 3.50/1.57 3.50/1.57 U11: {1} 3.50/1.57 tt: empty set 3.50/1.57 U21: {1} 3.50/1.57 U22: {1} 3.50/1.57 isList: empty set 3.50/1.57 U31: {1} 3.50/1.57 U41: {1} 3.50/1.57 U42: {1} 3.50/1.57 isNeList: empty set 3.50/1.57 U51: {1} 3.50/1.57 U52: {1} 3.50/1.57 U61: {1} 3.50/1.57 U71: {1} 3.50/1.57 U72: {1} 3.50/1.57 isPal: empty set 3.50/1.57 U81: {1} 3.50/1.57 isQid: empty set 3.50/1.57 isNePal: empty set 3.50/1.57 Used ordering: 3.50/1.57 Polynomial interpretation [POLO]: 3.50/1.57 3.50/1.57 POL(U11(x_1)) = x_1 3.50/1.57 POL(U21(x_1, x_2)) = 2 + 2*x_1 + 2*x_2 3.50/1.57 POL(U22(x_1)) = 2*x_1 3.50/1.57 POL(U31(x_1)) = 2*x_1 3.50/1.57 POL(U41(x_1, x_2)) = 1 + x_1 + 2*x_2 3.50/1.57 POL(U42(x_1)) = x_1 3.50/1.57 POL(U51(x_1, x_2)) = 2 + 2*x_1 + 2*x_2 3.50/1.57 POL(U52(x_1)) = 1 + x_1 3.50/1.57 POL(U61(x_1)) = 2*x_1 3.50/1.57 POL(U71(x_1, x_2)) = 1 + x_1 + 2*x_2 3.50/1.57 POL(U72(x_1)) = x_1 3.50/1.57 POL(U81(x_1)) = 2*x_1 3.50/1.57 POL(isList(x_1)) = 2 + x_1 3.50/1.57 POL(isNeList(x_1)) = 1 + x_1 3.50/1.57 POL(isNePal(x_1)) = x_1 3.50/1.57 POL(isPal(x_1)) = 1 + 2*x_1 3.50/1.57 POL(isQid(x_1)) = 0 3.50/1.57 POL(tt) = 1 3.50/1.57 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 3.50/1.57 3.50/1.57 U31(tt) -> tt 3.50/1.57 U41(tt, V2) -> U42(isNeList(V2)) 3.50/1.57 U51(tt, V2) -> U52(isList(V2)) 3.50/1.57 U61(tt) -> tt 3.50/1.57 U71(tt, P) -> U72(isPal(P)) 3.50/1.57 U81(tt) -> tt 3.50/1.57 isList(V) -> U11(isNeList(V)) 3.50/1.57 isNeList(V) -> U31(isQid(V)) 3.50/1.57 isPal(V) -> U81(isNePal(V)) 3.50/1.57 3.50/1.57 3.50/1.57 3.50/1.57 3.50/1.57 ---------------------------------------- 3.50/1.57 3.50/1.57 (4) 3.50/1.57 Obligation: 3.50/1.57 Context-sensitive rewrite system: 3.50/1.57 The TRS R consists of the following rules: 3.50/1.57 3.50/1.57 U11(tt) -> tt 3.50/1.57 U21(tt, V2) -> U22(isList(V2)) 3.50/1.57 isNePal(V) -> U61(isQid(V)) 3.50/1.57 3.50/1.57 The replacement map contains the following entries: 3.50/1.57 3.50/1.57 U11: {1} 3.50/1.57 tt: empty set 3.50/1.57 U21: {1} 3.50/1.57 U22: {1} 3.50/1.57 isList: empty set 3.50/1.57 U61: {1} 3.50/1.57 isQid: empty set 3.50/1.57 isNePal: empty set 3.50/1.57 3.50/1.57 ---------------------------------------- 3.50/1.57 3.50/1.57 (5) CSRRRRProof (EQUIVALENT) 3.50/1.57 The following CSR is given: Context-sensitive rewrite system: 3.50/1.57 The TRS R consists of the following rules: 3.50/1.57 3.50/1.57 U11(tt) -> tt 3.50/1.57 U21(tt, V2) -> U22(isList(V2)) 3.50/1.57 isNePal(V) -> U61(isQid(V)) 3.50/1.57 3.50/1.57 The replacement map contains the following entries: 3.50/1.57 3.50/1.57 U11: {1} 3.50/1.57 tt: empty set 3.50/1.57 U21: {1} 3.50/1.57 U22: {1} 3.50/1.57 isList: empty set 3.50/1.57 U61: {1} 3.50/1.57 isQid: empty set 3.50/1.57 isNePal: empty set 3.50/1.57 Used ordering: 3.50/1.57 Polynomial interpretation [POLO]: 3.50/1.57 3.50/1.57 POL(U11(x_1)) = 1 + x_1 3.50/1.57 POL(U21(x_1, x_2)) = 1 + x_1 + x_2 3.50/1.57 POL(U22(x_1)) = 1 + x_1 3.50/1.57 POL(U61(x_1)) = x_1 3.50/1.57 POL(isList(x_1)) = 1 + x_1 3.50/1.57 POL(isNePal(x_1)) = 1 + x_1 3.50/1.57 POL(isQid(x_1)) = 1 + x_1 3.50/1.57 POL(tt) = 1 3.50/1.57 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 3.50/1.57 3.50/1.57 U11(tt) -> tt 3.50/1.57 3.50/1.57 3.50/1.57 3.50/1.57 3.50/1.57 ---------------------------------------- 3.50/1.57 3.50/1.57 (6) 3.50/1.57 Obligation: 3.50/1.57 Context-sensitive rewrite system: 3.50/1.57 The TRS R consists of the following rules: 3.50/1.57 3.50/1.57 U21(tt, V2) -> U22(isList(V2)) 3.50/1.57 isNePal(V) -> U61(isQid(V)) 3.50/1.57 3.50/1.57 The replacement map contains the following entries: 3.50/1.57 3.50/1.57 tt: empty set 3.50/1.57 U21: {1} 3.50/1.57 U22: {1} 3.50/1.57 isList: empty set 3.50/1.57 U61: {1} 3.50/1.57 isQid: empty set 3.50/1.57 isNePal: empty set 3.50/1.57 3.50/1.57 ---------------------------------------- 3.50/1.57 3.50/1.57 (7) CSRRRRProof (EQUIVALENT) 3.50/1.57 The following CSR is given: Context-sensitive rewrite system: 3.50/1.57 The TRS R consists of the following rules: 3.50/1.57 3.50/1.57 U21(tt, V2) -> U22(isList(V2)) 3.50/1.57 isNePal(V) -> U61(isQid(V)) 3.50/1.57 3.50/1.57 The replacement map contains the following entries: 3.50/1.57 3.50/1.57 tt: empty set 3.50/1.57 U21: {1} 3.50/1.57 U22: {1} 3.50/1.57 isList: empty set 3.50/1.57 U61: {1} 3.50/1.57 isQid: empty set 3.50/1.57 isNePal: empty set 3.50/1.57 Used ordering: 3.50/1.57 Polynomial interpretation [POLO]: 3.50/1.57 3.50/1.57 POL(U21(x_1, x_2)) = x_1 + 2*x_2 3.50/1.57 POL(U22(x_1)) = 2*x_1 3.50/1.57 POL(U61(x_1)) = x_1 3.50/1.57 POL(isList(x_1)) = x_1 3.50/1.57 POL(isNePal(x_1)) = 1 + 2*x_1 3.50/1.57 POL(isQid(x_1)) = 2*x_1 3.50/1.57 POL(tt) = 0 3.50/1.57 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 3.50/1.57 3.50/1.57 isNePal(V) -> U61(isQid(V)) 3.50/1.57 3.50/1.57 3.50/1.57 3.50/1.57 3.50/1.57 ---------------------------------------- 3.50/1.57 3.50/1.57 (8) 3.50/1.57 Obligation: 3.50/1.57 Context-sensitive rewrite system: 3.50/1.57 The TRS R consists of the following rules: 3.50/1.57 3.50/1.57 U21(tt, V2) -> U22(isList(V2)) 3.50/1.57 3.50/1.57 The replacement map contains the following entries: 3.50/1.57 3.50/1.57 tt: empty set 3.50/1.57 U21: {1} 3.50/1.57 U22: {1} 3.50/1.57 isList: empty set 3.50/1.57 3.50/1.57 ---------------------------------------- 3.50/1.57 3.50/1.57 (9) CSRRRRProof (EQUIVALENT) 3.50/1.57 The following CSR is given: Context-sensitive rewrite system: 3.50/1.57 The TRS R consists of the following rules: 3.50/1.57 3.50/1.57 U21(tt, V2) -> U22(isList(V2)) 3.50/1.57 3.50/1.57 The replacement map contains the following entries: 3.50/1.57 3.50/1.57 tt: empty set 3.50/1.57 U21: {1} 3.50/1.57 U22: {1} 3.50/1.57 isList: empty set 3.50/1.57 Used ordering: 3.50/1.57 Polynomial interpretation [POLO]: 3.50/1.57 3.50/1.57 POL(U21(x_1, x_2)) = 1 + x_1 + 2*x_2 3.50/1.57 POL(U22(x_1)) = x_1 3.50/1.57 POL(isList(x_1)) = 2 + 2*x_1 3.50/1.57 POL(tt) = 2 3.50/1.57 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 3.50/1.57 3.50/1.57 U21(tt, V2) -> U22(isList(V2)) 3.50/1.57 3.50/1.57 3.50/1.57 3.50/1.57 3.50/1.57 ---------------------------------------- 3.50/1.57 3.50/1.57 (10) 3.50/1.57 Obligation: 3.50/1.57 Context-sensitive rewrite system: 3.50/1.57 R is empty. 3.50/1.57 3.50/1.57 ---------------------------------------- 3.50/1.57 3.50/1.57 (11) RisEmptyProof (EQUIVALENT) 3.50/1.57 The CSR R is empty. Hence, termination is trivially proven. 3.50/1.57 ---------------------------------------- 3.50/1.57 3.50/1.57 (12) 3.50/1.57 YES 3.50/1.61 EOF