5.15/2.03 YES 5.37/2.05 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 5.37/2.05 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 5.37/2.05 5.37/2.05 5.37/2.05 Termination of the given CSR could be proven: 5.37/2.05 5.37/2.05 (0) CSR 5.37/2.05 (1) CSRRRRProof [EQUIVALENT, 96 ms] 5.37/2.05 (2) CSR 5.37/2.05 (3) CSRRRRProof [EQUIVALENT, 18 ms] 5.37/2.05 (4) CSR 5.37/2.05 (5) CSRRRRProof [EQUIVALENT, 0 ms] 5.37/2.05 (6) CSR 5.37/2.05 (7) CSRRRRProof [EQUIVALENT, 0 ms] 5.37/2.05 (8) CSR 5.37/2.05 (9) CSRRRRProof [EQUIVALENT, 11 ms] 5.37/2.05 (10) CSR 5.37/2.05 (11) CSRRRRProof [EQUIVALENT, 11 ms] 5.37/2.05 (12) CSR 5.37/2.05 (13) CSRRRRProof [EQUIVALENT, 0 ms] 5.37/2.05 (14) CSR 5.37/2.05 (15) CSRRRRProof [EQUIVALENT, 11 ms] 5.37/2.05 (16) CSR 5.37/2.05 (17) CSRRRRProof [EQUIVALENT, 0 ms] 5.37/2.05 (18) CSR 5.37/2.05 (19) CSRRRRProof [EQUIVALENT, 0 ms] 5.37/2.05 (20) CSR 5.37/2.05 (21) RisEmptyProof [EQUIVALENT, 0 ms] 5.37/2.05 (22) YES 5.37/2.05 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (0) 5.37/2.05 Obligation: 5.37/2.05 Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U15(tt, V2) -> U16(isNat(V2)) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 U23(tt) -> tt 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 U51(tt, N) -> U52(isNatKind(N), N) 5.37/2.05 U52(tt, N) -> N 5.37/2.05 U61(tt, M, N) -> U62(isNatKind(M), M, N) 5.37/2.05 U62(tt, M, N) -> U63(isNat(N), M, N) 5.37/2.05 U63(tt, M, N) -> U64(isNatKind(N), M, N) 5.37/2.05 U64(tt, M, N) -> s(plus(N, M)) 5.37/2.05 isNat(0) -> tt 5.37/2.05 isNat(plus(V1, V2)) -> U11(isNatKind(V1), V1, V2) 5.37/2.05 isNat(s(V1)) -> U21(isNatKind(V1), V1) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 plus(N, 0) -> U51(isNat(N), N) 5.37/2.05 plus(N, s(M)) -> U61(isNat(M), M, N) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U14: {1} 5.37/2.05 U15: {1} 5.37/2.05 isNat: empty set 5.37/2.05 U16: {1} 5.37/2.05 U21: {1} 5.37/2.05 U22: {1} 5.37/2.05 U23: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 U51: {1} 5.37/2.05 U52: {1} 5.37/2.05 U61: {1} 5.37/2.05 U62: {1} 5.37/2.05 U63: {1} 5.37/2.05 U64: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (1) CSRRRRProof (EQUIVALENT) 5.37/2.05 The following CSR is given: Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U15(tt, V2) -> U16(isNat(V2)) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 U23(tt) -> tt 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 U51(tt, N) -> U52(isNatKind(N), N) 5.37/2.05 U52(tt, N) -> N 5.37/2.05 U61(tt, M, N) -> U62(isNatKind(M), M, N) 5.37/2.05 U62(tt, M, N) -> U63(isNat(N), M, N) 5.37/2.05 U63(tt, M, N) -> U64(isNatKind(N), M, N) 5.37/2.05 U64(tt, M, N) -> s(plus(N, M)) 5.37/2.05 isNat(0) -> tt 5.37/2.05 isNat(plus(V1, V2)) -> U11(isNatKind(V1), V1, V2) 5.37/2.05 isNat(s(V1)) -> U21(isNatKind(V1), V1) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 plus(N, 0) -> U51(isNat(N), N) 5.37/2.05 plus(N, s(M)) -> U61(isNat(M), M, N) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U14: {1} 5.37/2.05 U15: {1} 5.37/2.05 isNat: empty set 5.37/2.05 U16: {1} 5.37/2.05 U21: {1} 5.37/2.05 U22: {1} 5.37/2.05 U23: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 U51: {1} 5.37/2.05 U52: {1} 5.37/2.05 U61: {1} 5.37/2.05 U62: {1} 5.37/2.05 U63: {1} 5.37/2.05 U64: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 Used ordering: 5.37/2.05 Polynomial interpretation [POLO]: 5.37/2.05 5.37/2.05 POL(0) = 2 5.37/2.05 POL(U11(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U12(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U13(x_1, x_2, x_3)) = 2*x_1 5.37/2.05 POL(U14(x_1, x_2, x_3)) = 2*x_1 5.37/2.05 POL(U15(x_1, x_2)) = 2*x_1 5.37/2.05 POL(U16(x_1)) = x_1 5.37/2.05 POL(U21(x_1, x_2)) = x_1 5.37/2.05 POL(U22(x_1, x_2)) = 2*x_1 5.37/2.05 POL(U23(x_1)) = x_1 5.37/2.05 POL(U31(x_1, x_2)) = x_1 5.37/2.05 POL(U32(x_1)) = 2*x_1 5.37/2.05 POL(U41(x_1)) = 2*x_1 5.37/2.05 POL(U51(x_1, x_2)) = 1 + 2*x_1 + x_2 5.37/2.05 POL(U52(x_1, x_2)) = x_1 + x_2 5.37/2.05 POL(U61(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + x_3 5.37/2.05 POL(U62(x_1, x_2, x_3)) = x_1 + 2*x_2 + x_3 5.37/2.05 POL(U63(x_1, x_2, x_3)) = 2*x_1 + 2*x_2 + x_3 5.37/2.05 POL(U64(x_1, x_2, x_3)) = x_1 + 2*x_2 + x_3 5.37/2.05 POL(isNat(x_1)) = 0 5.37/2.05 POL(isNatKind(x_1)) = 0 5.37/2.05 POL(plus(x_1, x_2)) = x_1 + 2*x_2 5.37/2.05 POL(s(x_1)) = x_1 5.37/2.05 POL(tt) = 0 5.37/2.05 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 5.37/2.05 5.37/2.05 U51(tt, N) -> U52(isNatKind(N), N) 5.37/2.05 plus(N, 0) -> U51(isNat(N), N) 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (2) 5.37/2.05 Obligation: 5.37/2.05 Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U15(tt, V2) -> U16(isNat(V2)) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 U23(tt) -> tt 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 U52(tt, N) -> N 5.37/2.05 U61(tt, M, N) -> U62(isNatKind(M), M, N) 5.37/2.05 U62(tt, M, N) -> U63(isNat(N), M, N) 5.37/2.05 U63(tt, M, N) -> U64(isNatKind(N), M, N) 5.37/2.05 U64(tt, M, N) -> s(plus(N, M)) 5.37/2.05 isNat(0) -> tt 5.37/2.05 isNat(plus(V1, V2)) -> U11(isNatKind(V1), V1, V2) 5.37/2.05 isNat(s(V1)) -> U21(isNatKind(V1), V1) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 plus(N, s(M)) -> U61(isNat(M), M, N) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U14: {1} 5.37/2.05 U15: {1} 5.37/2.05 isNat: empty set 5.37/2.05 U16: {1} 5.37/2.05 U21: {1} 5.37/2.05 U22: {1} 5.37/2.05 U23: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 U52: {1} 5.37/2.05 U61: {1} 5.37/2.05 U62: {1} 5.37/2.05 U63: {1} 5.37/2.05 U64: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (3) CSRRRRProof (EQUIVALENT) 5.37/2.05 The following CSR is given: Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U15(tt, V2) -> U16(isNat(V2)) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 U23(tt) -> tt 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 U52(tt, N) -> N 5.37/2.05 U61(tt, M, N) -> U62(isNatKind(M), M, N) 5.37/2.05 U62(tt, M, N) -> U63(isNat(N), M, N) 5.37/2.05 U63(tt, M, N) -> U64(isNatKind(N), M, N) 5.37/2.05 U64(tt, M, N) -> s(plus(N, M)) 5.37/2.05 isNat(0) -> tt 5.37/2.05 isNat(plus(V1, V2)) -> U11(isNatKind(V1), V1, V2) 5.37/2.05 isNat(s(V1)) -> U21(isNatKind(V1), V1) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 plus(N, s(M)) -> U61(isNat(M), M, N) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U14: {1} 5.37/2.05 U15: {1} 5.37/2.05 isNat: empty set 5.37/2.05 U16: {1} 5.37/2.05 U21: {1} 5.37/2.05 U22: {1} 5.37/2.05 U23: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 U52: {1} 5.37/2.05 U61: {1} 5.37/2.05 U62: {1} 5.37/2.05 U63: {1} 5.37/2.05 U64: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 Used ordering: 5.37/2.05 Polynomial interpretation [POLO]: 5.37/2.05 5.37/2.05 POL(0) = 1 5.37/2.05 POL(U11(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U12(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U13(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U14(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U15(x_1, x_2)) = x_1 5.37/2.05 POL(U16(x_1)) = x_1 5.37/2.05 POL(U21(x_1, x_2)) = x_1 5.37/2.05 POL(U22(x_1, x_2)) = x_1 5.37/2.05 POL(U23(x_1)) = x_1 5.37/2.05 POL(U31(x_1, x_2)) = x_1 5.37/2.05 POL(U32(x_1)) = x_1 5.37/2.05 POL(U41(x_1)) = x_1 5.37/2.05 POL(U52(x_1, x_2)) = x_1 + x_2 5.37/2.05 POL(U61(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(U62(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(U63(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(U64(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(isNat(x_1)) = 1 5.37/2.05 POL(isNatKind(x_1)) = 1 5.37/2.05 POL(plus(x_1, x_2)) = 1 + x_1 + x_2 5.37/2.05 POL(s(x_1)) = 1 + x_1 5.37/2.05 POL(tt) = 1 5.37/2.05 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 5.37/2.05 5.37/2.05 U52(tt, N) -> N 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (4) 5.37/2.05 Obligation: 5.37/2.05 Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U15(tt, V2) -> U16(isNat(V2)) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 U23(tt) -> tt 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 U61(tt, M, N) -> U62(isNatKind(M), M, N) 5.37/2.05 U62(tt, M, N) -> U63(isNat(N), M, N) 5.37/2.05 U63(tt, M, N) -> U64(isNatKind(N), M, N) 5.37/2.05 U64(tt, M, N) -> s(plus(N, M)) 5.37/2.05 isNat(0) -> tt 5.37/2.05 isNat(plus(V1, V2)) -> U11(isNatKind(V1), V1, V2) 5.37/2.05 isNat(s(V1)) -> U21(isNatKind(V1), V1) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 plus(N, s(M)) -> U61(isNat(M), M, N) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U14: {1} 5.37/2.05 U15: {1} 5.37/2.05 isNat: empty set 5.37/2.05 U16: {1} 5.37/2.05 U21: {1} 5.37/2.05 U22: {1} 5.37/2.05 U23: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 U61: {1} 5.37/2.05 U62: {1} 5.37/2.05 U63: {1} 5.37/2.05 U64: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (5) CSRRRRProof (EQUIVALENT) 5.37/2.05 The following CSR is given: Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U15(tt, V2) -> U16(isNat(V2)) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 U23(tt) -> tt 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 U61(tt, M, N) -> U62(isNatKind(M), M, N) 5.37/2.05 U62(tt, M, N) -> U63(isNat(N), M, N) 5.37/2.05 U63(tt, M, N) -> U64(isNatKind(N), M, N) 5.37/2.05 U64(tt, M, N) -> s(plus(N, M)) 5.37/2.05 isNat(0) -> tt 5.37/2.05 isNat(plus(V1, V2)) -> U11(isNatKind(V1), V1, V2) 5.37/2.05 isNat(s(V1)) -> U21(isNatKind(V1), V1) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 plus(N, s(M)) -> U61(isNat(M), M, N) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U14: {1} 5.37/2.05 U15: {1} 5.37/2.05 isNat: empty set 5.37/2.05 U16: {1} 5.37/2.05 U21: {1} 5.37/2.05 U22: {1} 5.37/2.05 U23: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 U61: {1} 5.37/2.05 U62: {1} 5.37/2.05 U63: {1} 5.37/2.05 U64: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 Used ordering: 5.37/2.05 Polynomial interpretation [POLO]: 5.37/2.05 5.37/2.05 POL(0) = 0 5.37/2.05 POL(U11(x_1, x_2, x_3)) = 2*x_1 5.37/2.05 POL(U12(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U13(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U14(x_1, x_2, x_3)) = 2*x_1 5.37/2.05 POL(U15(x_1, x_2)) = 2*x_1 5.37/2.05 POL(U16(x_1)) = x_1 5.37/2.05 POL(U21(x_1, x_2)) = 2*x_1 5.37/2.05 POL(U22(x_1, x_2)) = 2*x_1 5.37/2.05 POL(U23(x_1)) = x_1 5.37/2.05 POL(U31(x_1, x_2)) = 2*x_1 5.37/2.05 POL(U32(x_1)) = 2*x_1 5.37/2.05 POL(U41(x_1)) = 2*x_1 5.37/2.05 POL(U61(x_1, x_2, x_3)) = 2 + 2*x_1 + 2*x_2 + x_3 5.37/2.05 POL(U62(x_1, x_2, x_3)) = 2 + 2*x_1 + 2*x_2 + x_3 5.37/2.05 POL(U63(x_1, x_2, x_3)) = 2 + 2*x_1 + 2*x_2 + x_3 5.37/2.05 POL(U64(x_1, x_2, x_3)) = 2 + x_1 + 2*x_2 + x_3 5.37/2.05 POL(isNat(x_1)) = 0 5.37/2.05 POL(isNatKind(x_1)) = 0 5.37/2.05 POL(plus(x_1, x_2)) = x_1 + 2*x_2 5.37/2.05 POL(s(x_1)) = 2 + x_1 5.37/2.05 POL(tt) = 0 5.37/2.05 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 5.37/2.05 5.37/2.05 plus(N, s(M)) -> U61(isNat(M), M, N) 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (6) 5.37/2.05 Obligation: 5.37/2.05 Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U15(tt, V2) -> U16(isNat(V2)) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 U23(tt) -> tt 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 U61(tt, M, N) -> U62(isNatKind(M), M, N) 5.37/2.05 U62(tt, M, N) -> U63(isNat(N), M, N) 5.37/2.05 U63(tt, M, N) -> U64(isNatKind(N), M, N) 5.37/2.05 U64(tt, M, N) -> s(plus(N, M)) 5.37/2.05 isNat(0) -> tt 5.37/2.05 isNat(plus(V1, V2)) -> U11(isNatKind(V1), V1, V2) 5.37/2.05 isNat(s(V1)) -> U21(isNatKind(V1), V1) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U14: {1} 5.37/2.05 U15: {1} 5.37/2.05 isNat: empty set 5.37/2.05 U16: {1} 5.37/2.05 U21: {1} 5.37/2.05 U22: {1} 5.37/2.05 U23: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 U61: {1} 5.37/2.05 U62: {1} 5.37/2.05 U63: {1} 5.37/2.05 U64: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (7) CSRRRRProof (EQUIVALENT) 5.37/2.05 The following CSR is given: Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U15(tt, V2) -> U16(isNat(V2)) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 U23(tt) -> tt 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 U61(tt, M, N) -> U62(isNatKind(M), M, N) 5.37/2.05 U62(tt, M, N) -> U63(isNat(N), M, N) 5.37/2.05 U63(tt, M, N) -> U64(isNatKind(N), M, N) 5.37/2.05 U64(tt, M, N) -> s(plus(N, M)) 5.37/2.05 isNat(0) -> tt 5.37/2.05 isNat(plus(V1, V2)) -> U11(isNatKind(V1), V1, V2) 5.37/2.05 isNat(s(V1)) -> U21(isNatKind(V1), V1) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U14: {1} 5.37/2.05 U15: {1} 5.37/2.05 isNat: empty set 5.37/2.05 U16: {1} 5.37/2.05 U21: {1} 5.37/2.05 U22: {1} 5.37/2.05 U23: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 U61: {1} 5.37/2.05 U62: {1} 5.37/2.05 U63: {1} 5.37/2.05 U64: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 Used ordering: 5.37/2.05 Polynomial interpretation [POLO]: 5.37/2.05 5.37/2.05 POL(0) = 1 5.37/2.05 POL(U11(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U12(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U13(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U14(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U15(x_1, x_2)) = x_1 5.37/2.05 POL(U16(x_1)) = x_1 5.37/2.05 POL(U21(x_1, x_2)) = x_1 5.37/2.05 POL(U22(x_1, x_2)) = x_1 5.37/2.05 POL(U23(x_1)) = x_1 5.37/2.05 POL(U31(x_1, x_2)) = x_1 5.37/2.05 POL(U32(x_1)) = x_1 5.37/2.05 POL(U41(x_1)) = x_1 5.37/2.05 POL(U61(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(U62(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(U63(x_1, x_2, x_3)) = x_1 + x_2 + x_3 5.37/2.05 POL(U64(x_1, x_2, x_3)) = x_1 + x_2 + x_3 5.37/2.05 POL(isNat(x_1)) = 1 5.37/2.05 POL(isNatKind(x_1)) = 1 5.37/2.05 POL(plus(x_1, x_2)) = 1 + x_1 + x_2 5.37/2.05 POL(s(x_1)) = x_1 5.37/2.05 POL(tt) = 1 5.37/2.05 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 5.37/2.05 5.37/2.05 U62(tt, M, N) -> U63(isNat(N), M, N) 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (8) 5.37/2.05 Obligation: 5.37/2.05 Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U15(tt, V2) -> U16(isNat(V2)) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 U23(tt) -> tt 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 U61(tt, M, N) -> U62(isNatKind(M), M, N) 5.37/2.05 U63(tt, M, N) -> U64(isNatKind(N), M, N) 5.37/2.05 U64(tt, M, N) -> s(plus(N, M)) 5.37/2.05 isNat(0) -> tt 5.37/2.05 isNat(plus(V1, V2)) -> U11(isNatKind(V1), V1, V2) 5.37/2.05 isNat(s(V1)) -> U21(isNatKind(V1), V1) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U14: {1} 5.37/2.05 U15: {1} 5.37/2.05 isNat: empty set 5.37/2.05 U16: {1} 5.37/2.05 U21: {1} 5.37/2.05 U22: {1} 5.37/2.05 U23: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 U61: {1} 5.37/2.05 U62: {1} 5.37/2.05 U63: {1} 5.37/2.05 U64: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (9) CSRRRRProof (EQUIVALENT) 5.37/2.05 The following CSR is given: Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U15(tt, V2) -> U16(isNat(V2)) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 U23(tt) -> tt 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 U61(tt, M, N) -> U62(isNatKind(M), M, N) 5.37/2.05 U63(tt, M, N) -> U64(isNatKind(N), M, N) 5.37/2.05 U64(tt, M, N) -> s(plus(N, M)) 5.37/2.05 isNat(0) -> tt 5.37/2.05 isNat(plus(V1, V2)) -> U11(isNatKind(V1), V1, V2) 5.37/2.05 isNat(s(V1)) -> U21(isNatKind(V1), V1) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U14: {1} 5.37/2.05 U15: {1} 5.37/2.05 isNat: empty set 5.37/2.05 U16: {1} 5.37/2.05 U21: {1} 5.37/2.05 U22: {1} 5.37/2.05 U23: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 U61: {1} 5.37/2.05 U62: {1} 5.37/2.05 U63: {1} 5.37/2.05 U64: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 Used ordering: 5.37/2.05 Polynomial interpretation [POLO]: 5.37/2.05 5.37/2.05 POL(0) = 1 5.37/2.05 POL(U11(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U12(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U13(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U14(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U15(x_1, x_2)) = x_1 5.37/2.05 POL(U16(x_1)) = x_1 5.37/2.05 POL(U21(x_1, x_2)) = x_1 5.37/2.05 POL(U22(x_1, x_2)) = x_1 5.37/2.05 POL(U23(x_1)) = x_1 5.37/2.05 POL(U31(x_1, x_2)) = x_1 5.37/2.05 POL(U32(x_1)) = x_1 5.37/2.05 POL(U41(x_1)) = x_1 5.37/2.05 POL(U61(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(U62(x_1, x_2, x_3)) = x_1 + x_2 + x_3 5.37/2.05 POL(U63(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(U64(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(isNat(x_1)) = 0 5.37/2.05 POL(isNatKind(x_1)) = 0 5.37/2.05 POL(plus(x_1, x_2)) = x_1 + x_2 5.37/2.05 POL(s(x_1)) = x_1 5.37/2.05 POL(tt) = 0 5.37/2.05 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 5.37/2.05 5.37/2.05 U61(tt, M, N) -> U62(isNatKind(M), M, N) 5.37/2.05 U64(tt, M, N) -> s(plus(N, M)) 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (10) 5.37/2.05 Obligation: 5.37/2.05 Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U15(tt, V2) -> U16(isNat(V2)) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 U23(tt) -> tt 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 U63(tt, M, N) -> U64(isNatKind(N), M, N) 5.37/2.05 isNat(0) -> tt 5.37/2.05 isNat(plus(V1, V2)) -> U11(isNatKind(V1), V1, V2) 5.37/2.05 isNat(s(V1)) -> U21(isNatKind(V1), V1) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U14: {1} 5.37/2.05 U15: {1} 5.37/2.05 isNat: empty set 5.37/2.05 U16: {1} 5.37/2.05 U21: {1} 5.37/2.05 U22: {1} 5.37/2.05 U23: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 U63: {1} 5.37/2.05 U64: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (11) CSRRRRProof (EQUIVALENT) 5.37/2.05 The following CSR is given: Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U15(tt, V2) -> U16(isNat(V2)) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 U23(tt) -> tt 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 U63(tt, M, N) -> U64(isNatKind(N), M, N) 5.37/2.05 isNat(0) -> tt 5.37/2.05 isNat(plus(V1, V2)) -> U11(isNatKind(V1), V1, V2) 5.37/2.05 isNat(s(V1)) -> U21(isNatKind(V1), V1) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U14: {1} 5.37/2.05 U15: {1} 5.37/2.05 isNat: empty set 5.37/2.05 U16: {1} 5.37/2.05 U21: {1} 5.37/2.05 U22: {1} 5.37/2.05 U23: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 U63: {1} 5.37/2.05 U64: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 Used ordering: 5.37/2.05 Polynomial interpretation [POLO]: 5.37/2.05 5.37/2.05 POL(0) = 1 5.37/2.05 POL(U11(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(U12(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(U13(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(U14(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(U15(x_1, x_2)) = 1 + x_1 + x_2 5.37/2.05 POL(U16(x_1)) = x_1 5.37/2.05 POL(U21(x_1, x_2)) = 1 + x_1 + x_2 5.37/2.05 POL(U22(x_1, x_2)) = 1 + x_1 + x_2 5.37/2.05 POL(U23(x_1)) = 1 + x_1 5.37/2.05 POL(U31(x_1, x_2)) = x_1 5.37/2.05 POL(U32(x_1)) = x_1 5.37/2.05 POL(U41(x_1)) = x_1 5.37/2.05 POL(U63(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(U64(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(isNat(x_1)) = x_1 5.37/2.05 POL(isNatKind(x_1)) = 0 5.37/2.05 POL(plus(x_1, x_2)) = 1 + x_1 + x_2 5.37/2.05 POL(s(x_1)) = 1 + x_1 5.37/2.05 POL(tt) = 0 5.37/2.05 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 5.37/2.05 5.37/2.05 U15(tt, V2) -> U16(isNat(V2)) 5.37/2.05 U23(tt) -> tt 5.37/2.05 isNat(0) -> tt 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (12) 5.37/2.05 Obligation: 5.37/2.05 Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 U63(tt, M, N) -> U64(isNatKind(N), M, N) 5.37/2.05 isNat(plus(V1, V2)) -> U11(isNatKind(V1), V1, V2) 5.37/2.05 isNat(s(V1)) -> U21(isNatKind(V1), V1) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U14: {1} 5.37/2.05 U15: {1} 5.37/2.05 isNat: empty set 5.37/2.05 U16: {1} 5.37/2.05 U21: {1} 5.37/2.05 U22: {1} 5.37/2.05 U23: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 U63: {1} 5.37/2.05 U64: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (13) CSRRRRProof (EQUIVALENT) 5.37/2.05 The following CSR is given: Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 U63(tt, M, N) -> U64(isNatKind(N), M, N) 5.37/2.05 isNat(plus(V1, V2)) -> U11(isNatKind(V1), V1, V2) 5.37/2.05 isNat(s(V1)) -> U21(isNatKind(V1), V1) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U14: {1} 5.37/2.05 U15: {1} 5.37/2.05 isNat: empty set 5.37/2.05 U16: {1} 5.37/2.05 U21: {1} 5.37/2.05 U22: {1} 5.37/2.05 U23: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 U63: {1} 5.37/2.05 U64: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 Used ordering: 5.37/2.05 Polynomial interpretation [POLO]: 5.37/2.05 5.37/2.05 POL(0) = 1 5.37/2.05 POL(U11(x_1, x_2, x_3)) = x_1 + x_2 + x_3 5.37/2.05 POL(U12(x_1, x_2, x_3)) = x_1 + x_2 + x_3 5.37/2.05 POL(U13(x_1, x_2, x_3)) = x_1 + x_2 + x_3 5.37/2.05 POL(U14(x_1, x_2, x_3)) = x_1 + x_2 + x_3 5.37/2.05 POL(U15(x_1, x_2)) = x_1 + x_2 5.37/2.05 POL(U16(x_1)) = x_1 5.37/2.05 POL(U21(x_1, x_2)) = x_1 + x_2 5.37/2.05 POL(U22(x_1, x_2)) = x_1 + x_2 5.37/2.05 POL(U23(x_1)) = x_1 5.37/2.05 POL(U31(x_1, x_2)) = x_1 5.37/2.05 POL(U32(x_1)) = x_1 5.37/2.05 POL(U41(x_1)) = x_1 5.37/2.05 POL(U63(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(U64(x_1, x_2, x_3)) = x_1 + x_2 + x_3 5.37/2.05 POL(isNat(x_1)) = 1 + x_1 5.37/2.05 POL(isNatKind(x_1)) = 1 5.37/2.05 POL(plus(x_1, x_2)) = 1 + x_1 + x_2 5.37/2.05 POL(s(x_1)) = 1 + x_1 5.37/2.05 POL(tt) = 1 5.37/2.05 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 5.37/2.05 5.37/2.05 U63(tt, M, N) -> U64(isNatKind(N), M, N) 5.37/2.05 isNat(plus(V1, V2)) -> U11(isNatKind(V1), V1, V2) 5.37/2.05 isNat(s(V1)) -> U21(isNatKind(V1), V1) 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (14) 5.37/2.05 Obligation: 5.37/2.05 Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U14: {1} 5.37/2.05 U15: {1} 5.37/2.05 isNat: empty set 5.37/2.05 U16: {1} 5.37/2.05 U21: {1} 5.37/2.05 U22: {1} 5.37/2.05 U23: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (15) CSRRRRProof (EQUIVALENT) 5.37/2.05 The following CSR is given: Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U14: {1} 5.37/2.05 U15: {1} 5.37/2.05 isNat: empty set 5.37/2.05 U16: {1} 5.37/2.05 U21: {1} 5.37/2.05 U22: {1} 5.37/2.05 U23: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 Used ordering: 5.37/2.05 Polynomial interpretation [POLO]: 5.37/2.05 5.37/2.05 POL(0) = 2 5.37/2.05 POL(U11(x_1, x_2, x_3)) = 2 + 2*x_1 + 2*x_2 + 2*x_3 5.37/2.05 POL(U12(x_1, x_2, x_3)) = 2 + x_1 + 2*x_2 + 2*x_3 5.37/2.05 POL(U13(x_1, x_2, x_3)) = 2 + 2*x_1 + 2*x_2 5.37/2.05 POL(U14(x_1, x_2, x_3)) = 1 + 2*x_1 + 2*x_2 5.37/2.05 POL(U15(x_1, x_2)) = 2*x_1 5.37/2.05 POL(U16(x_1)) = 1 + x_1 5.37/2.05 POL(U21(x_1, x_2)) = 2 + 2*x_1 + 2*x_2 5.37/2.05 POL(U22(x_1, x_2)) = 1 + x_1 + 2*x_2 5.37/2.05 POL(U23(x_1)) = x_1 5.37/2.05 POL(U31(x_1, x_2)) = x_1 5.37/2.05 POL(U32(x_1)) = x_1 5.37/2.05 POL(U41(x_1)) = 2*x_1 5.37/2.05 POL(isNat(x_1)) = x_1 5.37/2.05 POL(isNatKind(x_1)) = 0 5.37/2.05 POL(plus(x_1, x_2)) = 2 + 2*x_1 + x_2 5.37/2.05 POL(s(x_1)) = 2 + 2*x_1 5.37/2.05 POL(tt) = 0 5.37/2.05 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 5.37/2.05 5.37/2.05 U13(tt, V1, V2) -> U14(isNatKind(V2), V1, V2) 5.37/2.05 U14(tt, V1, V2) -> U15(isNat(V1), V2) 5.37/2.05 U16(tt) -> tt 5.37/2.05 U21(tt, V1) -> U22(isNatKind(V1), V1) 5.37/2.05 U22(tt, V1) -> U23(isNat(V1)) 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (16) 5.37/2.05 Obligation: 5.37/2.05 Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (17) CSRRRRProof (EQUIVALENT) 5.37/2.05 The following CSR is given: Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 Used ordering: 5.37/2.05 Polynomial interpretation [POLO]: 5.37/2.05 5.37/2.05 POL(0) = 0 5.37/2.05 POL(U11(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 5.37/2.05 POL(U12(x_1, x_2, x_3)) = 1 + x_1 + x_3 5.37/2.05 POL(U13(x_1, x_2, x_3)) = 1 + x_1 5.37/2.05 POL(U31(x_1, x_2)) = 1 + x_1 + x_2 5.37/2.05 POL(U32(x_1)) = 1 + x_1 5.37/2.05 POL(U41(x_1)) = 1 + x_1 5.37/2.05 POL(isNatKind(x_1)) = 1 + x_1 5.37/2.05 POL(plus(x_1, x_2)) = 1 + x_1 + x_2 5.37/2.05 POL(s(x_1)) = 1 + x_1 5.37/2.05 POL(tt) = 1 5.37/2.05 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 5.37/2.05 5.37/2.05 U32(tt) -> tt 5.37/2.05 U41(tt) -> tt 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (18) 5.37/2.05 Obligation: 5.37/2.05 Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (19) CSRRRRProof (EQUIVALENT) 5.37/2.05 The following CSR is given: Context-sensitive rewrite system: 5.37/2.05 The TRS R consists of the following rules: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 5.37/2.05 The replacement map contains the following entries: 5.37/2.05 5.37/2.05 U11: {1} 5.37/2.05 tt: empty set 5.37/2.05 U12: {1} 5.37/2.05 isNatKind: empty set 5.37/2.05 U13: {1} 5.37/2.05 U31: {1} 5.37/2.05 U32: {1} 5.37/2.05 U41: {1} 5.37/2.05 s: {1} 5.37/2.05 plus: {1, 2} 5.37/2.05 0: empty set 5.37/2.05 Used ordering: 5.37/2.05 Polynomial interpretation [POLO]: 5.37/2.05 5.37/2.05 POL(0) = 2 5.37/2.05 POL(U11(x_1, x_2, x_3)) = 2 + 2*x_1 + 2*x_2 + 2*x_3 5.37/2.05 POL(U12(x_1, x_2, x_3)) = x_1 + 2*x_3 5.37/2.05 POL(U13(x_1, x_2, x_3)) = x_1 5.37/2.05 POL(U31(x_1, x_2)) = 2*x_1 + 2*x_2 5.37/2.05 POL(U32(x_1)) = 2 + x_1 5.37/2.05 POL(U41(x_1)) = 1 + x_1 5.37/2.05 POL(isNatKind(x_1)) = 1 + 2*x_1 5.37/2.05 POL(plus(x_1, x_2)) = 2 + 2*x_1 + x_2 5.37/2.05 POL(s(x_1)) = 2 + 2*x_1 5.37/2.05 POL(tt) = 2 5.37/2.05 With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly: 5.37/2.05 5.37/2.05 U11(tt, V1, V2) -> U12(isNatKind(V1), V1, V2) 5.37/2.05 U12(tt, V1, V2) -> U13(isNatKind(V2), V1, V2) 5.37/2.05 U31(tt, V2) -> U32(isNatKind(V2)) 5.37/2.05 isNatKind(0) -> tt 5.37/2.05 isNatKind(plus(V1, V2)) -> U31(isNatKind(V1), V2) 5.37/2.05 isNatKind(s(V1)) -> U41(isNatKind(V1)) 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (20) 5.37/2.05 Obligation: 5.37/2.05 Context-sensitive rewrite system: 5.37/2.05 R is empty. 5.37/2.05 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (21) RisEmptyProof (EQUIVALENT) 5.37/2.05 The CSR R is empty. Hence, termination is trivially proven. 5.37/2.05 ---------------------------------------- 5.37/2.05 5.37/2.05 (22) 5.37/2.05 YES 5.41/2.09 EOF