26.02/8.13 YES 26.18/8.15 proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml 26.18/8.15 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 26.18/8.15 26.18/8.15 26.18/8.15 Termination w.r.t. Q of the given QTRS could be proven: 26.18/8.15 26.18/8.15 (0) QTRS 26.18/8.15 (1) DependencyPairsProof [EQUIVALENT, 117 ms] 26.18/8.15 (2) QDP 26.18/8.15 (3) DependencyGraphProof [EQUIVALENT, 0 ms] 26.18/8.15 (4) AND 26.18/8.15 (5) QDP 26.18/8.15 (6) UsableRulesProof [EQUIVALENT, 0 ms] 26.18/8.15 (7) QDP 26.18/8.15 (8) QReductionProof [EQUIVALENT, 0 ms] 26.18/8.15 (9) QDP 26.18/8.15 (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.18/8.15 (11) YES 26.18/8.15 (12) QDP 26.18/8.15 (13) UsableRulesProof [EQUIVALENT, 0 ms] 26.18/8.15 (14) QDP 26.18/8.15 (15) QReductionProof [EQUIVALENT, 0 ms] 26.18/8.15 (16) QDP 26.18/8.15 (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.18/8.15 (18) YES 26.18/8.15 (19) QDP 26.18/8.15 (20) UsableRulesProof [EQUIVALENT, 0 ms] 26.18/8.15 (21) QDP 26.18/8.15 (22) QReductionProof [EQUIVALENT, 0 ms] 26.18/8.15 (23) QDP 26.18/8.15 (24) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.18/8.15 (25) YES 26.18/8.15 (26) QDP 26.18/8.15 (27) UsableRulesProof [EQUIVALENT, 0 ms] 26.18/8.15 (28) QDP 26.18/8.15 (29) QReductionProof [EQUIVALENT, 0 ms] 26.18/8.15 (30) QDP 26.18/8.15 (31) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.18/8.15 (32) YES 26.18/8.15 (33) QDP 26.18/8.15 (34) UsableRulesProof [EQUIVALENT, 0 ms] 26.18/8.15 (35) QDP 26.18/8.15 (36) QReductionProof [EQUIVALENT, 0 ms] 26.18/8.15 (37) QDP 26.18/8.15 (38) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.18/8.15 (39) YES 26.18/8.15 (40) QDP 26.18/8.15 (41) UsableRulesProof [EQUIVALENT, 0 ms] 26.18/8.15 (42) QDP 26.18/8.15 (43) QReductionProof [EQUIVALENT, 0 ms] 26.18/8.15 (44) QDP 26.18/8.15 (45) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.18/8.15 (46) YES 26.18/8.15 (47) QDP 26.18/8.15 (48) UsableRulesProof [EQUIVALENT, 0 ms] 26.18/8.15 (49) QDP 26.18/8.15 (50) QReductionProof [EQUIVALENT, 0 ms] 26.18/8.15 (51) QDP 26.18/8.15 (52) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.18/8.15 (53) YES 26.18/8.15 (54) QDP 26.18/8.15 (55) UsableRulesProof [EQUIVALENT, 0 ms] 26.18/8.15 (56) QDP 26.18/8.15 (57) QReductionProof [EQUIVALENT, 0 ms] 26.18/8.15 (58) QDP 26.18/8.15 (59) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.18/8.15 (60) YES 26.18/8.15 (61) QDP 26.18/8.15 (62) UsableRulesProof [EQUIVALENT, 0 ms] 26.18/8.15 (63) QDP 26.18/8.15 (64) QReductionProof [EQUIVALENT, 0 ms] 26.18/8.15 (65) QDP 26.18/8.15 (66) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.18/8.15 (67) YES 26.18/8.15 (68) QDP 26.18/8.15 (69) UsableRulesProof [EQUIVALENT, 0 ms] 26.18/8.15 (70) QDP 26.18/8.15 (71) QDPOrderProof [EQUIVALENT, 41 ms] 26.18/8.15 (72) QDP 26.18/8.15 (73) QDPOrderProof [EQUIVALENT, 36 ms] 26.18/8.15 (74) QDP 26.18/8.15 (75) QDPOrderProof [EQUIVALENT, 31 ms] 26.18/8.15 (76) QDP 26.18/8.15 (77) QDPOrderProof [EQUIVALENT, 0 ms] 26.18/8.15 (78) QDP 26.18/8.15 (79) QDPOrderProof [EQUIVALENT, 21 ms] 26.18/8.15 (80) QDP 26.18/8.15 (81) DependencyGraphProof [EQUIVALENT, 0 ms] 26.18/8.15 (82) QDP 26.18/8.15 (83) QDPQMonotonicMRRProof [EQUIVALENT, 109 ms] 26.18/8.15 (84) QDP 26.18/8.15 (85) DependencyGraphProof [EQUIVALENT, 0 ms] 26.18/8.15 (86) QDP 26.18/8.15 (87) QDPQMonotonicMRRProof [EQUIVALENT, 74 ms] 26.18/8.15 (88) QDP 26.18/8.15 (89) DependencyGraphProof [EQUIVALENT, 0 ms] 26.18/8.15 (90) QDP 26.18/8.15 (91) QDPQMonotonicMRRProof [EQUIVALENT, 78 ms] 26.18/8.15 (92) QDP 26.18/8.15 (93) QDPQMonotonicMRRProof [EQUIVALENT, 92 ms] 26.18/8.15 (94) QDP 26.18/8.15 (95) UsableRulesProof [EQUIVALENT, 0 ms] 26.18/8.15 (96) QDP 26.18/8.15 (97) QReductionProof [EQUIVALENT, 0 ms] 26.18/8.15 (98) QDP 26.18/8.15 (99) QDPSizeChangeProof [EQUIVALENT, 0 ms] 26.18/8.15 (100) YES 26.18/8.15 26.18/8.15 26.18/8.15 ---------------------------------------- 26.18/8.15 26.18/8.15 (0) 26.18/8.15 Obligation: 26.18/8.15 Q restricted rewrite system: 26.18/8.15 The TRS R consists of the following rules: 26.18/8.15 26.18/8.15 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.15 active(U12(tt)) -> mark(tt) 26.18/8.15 active(U21(tt)) -> mark(tt) 26.18/8.15 active(U31(tt, N)) -> mark(N) 26.18/8.15 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.15 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.15 active(isNat(0)) -> mark(tt) 26.18/8.15 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.15 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.15 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.15 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.15 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.15 mark(tt) -> active(tt) 26.18/8.15 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.15 mark(isNat(X)) -> active(isNat(X)) 26.18/8.15 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.15 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.15 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.15 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.15 mark(s(X)) -> active(s(mark(X))) 26.18/8.15 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.15 mark(0) -> active(0) 26.18/8.15 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.15 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.15 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.15 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.15 U12(mark(X)) -> U12(X) 26.18/8.15 U12(active(X)) -> U12(X) 26.18/8.15 isNat(mark(X)) -> isNat(X) 26.18/8.15 isNat(active(X)) -> isNat(X) 26.18/8.15 U21(mark(X)) -> U21(X) 26.18/8.15 U21(active(X)) -> U21(X) 26.18/8.15 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.15 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.15 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.15 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.15 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.15 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.15 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.15 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.15 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.15 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.15 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.15 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.15 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.15 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.15 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.15 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.15 s(mark(X)) -> s(X) 26.18/8.15 s(active(X)) -> s(X) 26.18/8.15 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.15 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.15 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.15 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.15 26.18/8.15 The set Q consists of the following terms: 26.18/8.15 26.18/8.15 active(U11(tt, x0)) 26.18/8.15 active(U12(tt)) 26.18/8.15 active(U21(tt)) 26.18/8.15 active(U31(tt, x0)) 26.18/8.15 active(U41(tt, x0, x1)) 26.18/8.15 active(U42(tt, x0, x1)) 26.18/8.15 active(isNat(0)) 26.18/8.15 active(isNat(plus(x0, x1))) 26.18/8.15 active(isNat(s(x0))) 26.18/8.15 active(plus(x0, 0)) 26.18/8.15 active(plus(x0, s(x1))) 26.18/8.15 mark(U11(x0, x1)) 26.18/8.15 mark(tt) 26.18/8.15 mark(U12(x0)) 26.18/8.15 mark(isNat(x0)) 26.18/8.15 mark(U21(x0)) 26.18/8.15 mark(U31(x0, x1)) 26.18/8.15 mark(U41(x0, x1, x2)) 26.18/8.15 mark(U42(x0, x1, x2)) 26.18/8.15 mark(s(x0)) 26.18/8.15 mark(plus(x0, x1)) 26.18/8.15 mark(0) 26.18/8.15 U11(mark(x0), x1) 26.18/8.15 U11(x0, mark(x1)) 26.18/8.15 U11(active(x0), x1) 26.18/8.15 U11(x0, active(x1)) 26.18/8.15 U12(mark(x0)) 26.18/8.15 U12(active(x0)) 26.18/8.15 isNat(mark(x0)) 26.18/8.15 isNat(active(x0)) 26.18/8.15 U21(mark(x0)) 26.18/8.15 U21(active(x0)) 26.18/8.15 U31(mark(x0), x1) 26.18/8.15 U31(x0, mark(x1)) 26.18/8.15 U31(active(x0), x1) 26.18/8.15 U31(x0, active(x1)) 26.18/8.15 U41(mark(x0), x1, x2) 26.18/8.15 U41(x0, mark(x1), x2) 26.18/8.15 U41(x0, x1, mark(x2)) 26.18/8.15 U41(active(x0), x1, x2) 26.18/8.15 U41(x0, active(x1), x2) 26.18/8.15 U41(x0, x1, active(x2)) 26.18/8.15 U42(mark(x0), x1, x2) 26.18/8.15 U42(x0, mark(x1), x2) 26.18/8.15 U42(x0, x1, mark(x2)) 26.18/8.15 U42(active(x0), x1, x2) 26.18/8.15 U42(x0, active(x1), x2) 26.18/8.15 U42(x0, x1, active(x2)) 26.18/8.15 s(mark(x0)) 26.18/8.15 s(active(x0)) 26.18/8.15 plus(mark(x0), x1) 26.18/8.15 plus(x0, mark(x1)) 26.18/8.15 plus(active(x0), x1) 26.18/8.15 plus(x0, active(x1)) 26.18/8.15 26.18/8.15 26.18/8.15 ---------------------------------------- 26.18/8.15 26.18/8.15 (1) DependencyPairsProof (EQUIVALENT) 26.18/8.15 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 26.18/8.15 ---------------------------------------- 26.18/8.15 26.18/8.15 (2) 26.18/8.15 Obligation: 26.18/8.15 Q DP problem: 26.18/8.15 The TRS P consists of the following rules: 26.18/8.15 26.18/8.15 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 26.18/8.15 ACTIVE(U11(tt, V2)) -> U12^1(isNat(V2)) 26.18/8.15 ACTIVE(U11(tt, V2)) -> ISNAT(V2) 26.18/8.15 ACTIVE(U12(tt)) -> MARK(tt) 26.18/8.15 ACTIVE(U21(tt)) -> MARK(tt) 26.18/8.15 ACTIVE(U31(tt, N)) -> MARK(N) 26.18/8.15 ACTIVE(U41(tt, M, N)) -> MARK(U42(isNat(N), M, N)) 26.18/8.15 ACTIVE(U41(tt, M, N)) -> U42^1(isNat(N), M, N) 26.18/8.15 ACTIVE(U41(tt, M, N)) -> ISNAT(N) 26.18/8.15 ACTIVE(U42(tt, M, N)) -> MARK(s(plus(N, M))) 26.18/8.15 ACTIVE(U42(tt, M, N)) -> S(plus(N, M)) 26.18/8.15 ACTIVE(U42(tt, M, N)) -> PLUS(N, M) 26.18/8.15 ACTIVE(isNat(0)) -> MARK(tt) 26.18/8.15 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 26.18/8.15 ACTIVE(isNat(plus(V1, V2))) -> U11^1(isNat(V1), V2) 26.18/8.15 ACTIVE(isNat(plus(V1, V2))) -> ISNAT(V1) 26.18/8.15 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 26.18/8.15 ACTIVE(isNat(s(V1))) -> U21^1(isNat(V1)) 26.18/8.15 ACTIVE(isNat(s(V1))) -> ISNAT(V1) 26.18/8.15 ACTIVE(plus(N, 0)) -> MARK(U31(isNat(N), N)) 26.18/8.15 ACTIVE(plus(N, 0)) -> U31^1(isNat(N), N) 26.18/8.15 ACTIVE(plus(N, 0)) -> ISNAT(N) 26.18/8.15 ACTIVE(plus(N, s(M))) -> MARK(U41(isNat(M), M, N)) 26.18/8.15 ACTIVE(plus(N, s(M))) -> U41^1(isNat(M), M, N) 26.18/8.15 ACTIVE(plus(N, s(M))) -> ISNAT(M) 26.18/8.15 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 26.18/8.15 MARK(U11(X1, X2)) -> U11^1(mark(X1), X2) 26.18/8.15 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.15 MARK(tt) -> ACTIVE(tt) 26.18/8.15 MARK(U12(X)) -> ACTIVE(U12(mark(X))) 26.18/8.15 MARK(U12(X)) -> U12^1(mark(X)) 26.18/8.15 MARK(U12(X)) -> MARK(X) 26.18/8.15 MARK(isNat(X)) -> ACTIVE(isNat(X)) 26.18/8.15 MARK(U21(X)) -> ACTIVE(U21(mark(X))) 26.18/8.15 MARK(U21(X)) -> U21^1(mark(X)) 26.18/8.15 MARK(U21(X)) -> MARK(X) 26.18/8.15 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 26.18/8.15 MARK(U31(X1, X2)) -> U31^1(mark(X1), X2) 26.18/8.15 MARK(U31(X1, X2)) -> MARK(X1) 26.18/8.15 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 26.18/8.15 MARK(U41(X1, X2, X3)) -> U41^1(mark(X1), X2, X3) 26.18/8.15 MARK(U41(X1, X2, X3)) -> MARK(X1) 26.18/8.15 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 26.18/8.15 MARK(U42(X1, X2, X3)) -> U42^1(mark(X1), X2, X3) 26.18/8.15 MARK(U42(X1, X2, X3)) -> MARK(X1) 26.18/8.15 MARK(s(X)) -> ACTIVE(s(mark(X))) 26.18/8.15 MARK(s(X)) -> S(mark(X)) 26.18/8.15 MARK(s(X)) -> MARK(X) 26.18/8.15 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 26.18/8.15 MARK(plus(X1, X2)) -> PLUS(mark(X1), mark(X2)) 26.18/8.15 MARK(plus(X1, X2)) -> MARK(X1) 26.18/8.15 MARK(plus(X1, X2)) -> MARK(X2) 26.18/8.15 MARK(0) -> ACTIVE(0) 26.18/8.15 U11^1(mark(X1), X2) -> U11^1(X1, X2) 26.18/8.15 U11^1(X1, mark(X2)) -> U11^1(X1, X2) 26.18/8.15 U11^1(active(X1), X2) -> U11^1(X1, X2) 26.18/8.15 U11^1(X1, active(X2)) -> U11^1(X1, X2) 26.18/8.15 U12^1(mark(X)) -> U12^1(X) 26.18/8.15 U12^1(active(X)) -> U12^1(X) 26.18/8.15 ISNAT(mark(X)) -> ISNAT(X) 26.18/8.15 ISNAT(active(X)) -> ISNAT(X) 26.18/8.15 U21^1(mark(X)) -> U21^1(X) 26.18/8.15 U21^1(active(X)) -> U21^1(X) 26.18/8.15 U31^1(mark(X1), X2) -> U31^1(X1, X2) 26.18/8.15 U31^1(X1, mark(X2)) -> U31^1(X1, X2) 26.18/8.15 U31^1(active(X1), X2) -> U31^1(X1, X2) 26.18/8.15 U31^1(X1, active(X2)) -> U31^1(X1, X2) 26.18/8.15 U41^1(mark(X1), X2, X3) -> U41^1(X1, X2, X3) 26.18/8.15 U41^1(X1, mark(X2), X3) -> U41^1(X1, X2, X3) 26.18/8.15 U41^1(X1, X2, mark(X3)) -> U41^1(X1, X2, X3) 26.18/8.15 U41^1(active(X1), X2, X3) -> U41^1(X1, X2, X3) 26.18/8.15 U41^1(X1, active(X2), X3) -> U41^1(X1, X2, X3) 26.18/8.15 U41^1(X1, X2, active(X3)) -> U41^1(X1, X2, X3) 26.18/8.15 U42^1(mark(X1), X2, X3) -> U42^1(X1, X2, X3) 26.18/8.15 U42^1(X1, mark(X2), X3) -> U42^1(X1, X2, X3) 26.18/8.15 U42^1(X1, X2, mark(X3)) -> U42^1(X1, X2, X3) 26.18/8.15 U42^1(active(X1), X2, X3) -> U42^1(X1, X2, X3) 26.18/8.15 U42^1(X1, active(X2), X3) -> U42^1(X1, X2, X3) 26.18/8.15 U42^1(X1, X2, active(X3)) -> U42^1(X1, X2, X3) 26.18/8.15 S(mark(X)) -> S(X) 26.18/8.15 S(active(X)) -> S(X) 26.18/8.15 PLUS(mark(X1), X2) -> PLUS(X1, X2) 26.18/8.15 PLUS(X1, mark(X2)) -> PLUS(X1, X2) 26.18/8.15 PLUS(active(X1), X2) -> PLUS(X1, X2) 26.18/8.15 PLUS(X1, active(X2)) -> PLUS(X1, X2) 26.18/8.15 26.18/8.15 The TRS R consists of the following rules: 26.18/8.15 26.18/8.15 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.15 active(U12(tt)) -> mark(tt) 26.18/8.15 active(U21(tt)) -> mark(tt) 26.18/8.15 active(U31(tt, N)) -> mark(N) 26.18/8.15 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.15 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.15 active(isNat(0)) -> mark(tt) 26.18/8.15 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.15 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.15 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.15 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.15 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.15 mark(tt) -> active(tt) 26.18/8.15 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.15 mark(isNat(X)) -> active(isNat(X)) 26.18/8.15 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.15 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.15 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.15 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.15 mark(s(X)) -> active(s(mark(X))) 26.18/8.15 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.15 mark(0) -> active(0) 26.18/8.15 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.15 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.15 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.15 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.15 U12(mark(X)) -> U12(X) 26.18/8.15 U12(active(X)) -> U12(X) 26.18/8.15 isNat(mark(X)) -> isNat(X) 26.18/8.15 isNat(active(X)) -> isNat(X) 26.18/8.15 U21(mark(X)) -> U21(X) 26.18/8.15 U21(active(X)) -> U21(X) 26.18/8.15 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.15 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.15 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.15 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.15 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.15 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.15 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.15 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.16 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.16 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.16 s(mark(X)) -> s(X) 26.18/8.16 s(active(X)) -> s(X) 26.18/8.16 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.16 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.16 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.16 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.16 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (3) DependencyGraphProof (EQUIVALENT) 26.18/8.16 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 10 SCCs with 27 less nodes. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (4) 26.18/8.16 Complex Obligation (AND) 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (5) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 PLUS(X1, mark(X2)) -> PLUS(X1, X2) 26.18/8.16 PLUS(mark(X1), X2) -> PLUS(X1, X2) 26.18/8.16 PLUS(active(X1), X2) -> PLUS(X1, X2) 26.18/8.16 PLUS(X1, active(X2)) -> PLUS(X1, X2) 26.18/8.16 26.18/8.16 The TRS R consists of the following rules: 26.18/8.16 26.18/8.16 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.16 active(U12(tt)) -> mark(tt) 26.18/8.16 active(U21(tt)) -> mark(tt) 26.18/8.16 active(U31(tt, N)) -> mark(N) 26.18/8.16 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.16 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.16 active(isNat(0)) -> mark(tt) 26.18/8.16 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.16 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.16 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.16 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.16 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.16 mark(tt) -> active(tt) 26.18/8.16 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.16 mark(isNat(X)) -> active(isNat(X)) 26.18/8.16 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.16 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.16 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.16 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.16 mark(s(X)) -> active(s(mark(X))) 26.18/8.16 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.16 mark(0) -> active(0) 26.18/8.16 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.16 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.16 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.16 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.16 U12(mark(X)) -> U12(X) 26.18/8.16 U12(active(X)) -> U12(X) 26.18/8.16 isNat(mark(X)) -> isNat(X) 26.18/8.16 isNat(active(X)) -> isNat(X) 26.18/8.16 U21(mark(X)) -> U21(X) 26.18/8.16 U21(active(X)) -> U21(X) 26.18/8.16 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.16 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.16 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.16 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.16 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.16 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.16 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.16 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.16 s(mark(X)) -> s(X) 26.18/8.16 s(active(X)) -> s(X) 26.18/8.16 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.16 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.16 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.16 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.16 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (6) UsableRulesProof (EQUIVALENT) 26.18/8.16 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (7) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 PLUS(X1, mark(X2)) -> PLUS(X1, X2) 26.18/8.16 PLUS(mark(X1), X2) -> PLUS(X1, X2) 26.18/8.16 PLUS(active(X1), X2) -> PLUS(X1, X2) 26.18/8.16 PLUS(X1, active(X2)) -> PLUS(X1, X2) 26.18/8.16 26.18/8.16 R is empty. 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (8) QReductionProof (EQUIVALENT) 26.18/8.16 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 26.18/8.16 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (9) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 PLUS(X1, mark(X2)) -> PLUS(X1, X2) 26.18/8.16 PLUS(mark(X1), X2) -> PLUS(X1, X2) 26.18/8.16 PLUS(active(X1), X2) -> PLUS(X1, X2) 26.18/8.16 PLUS(X1, active(X2)) -> PLUS(X1, X2) 26.18/8.16 26.18/8.16 R is empty. 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (10) QDPSizeChangeProof (EQUIVALENT) 26.18/8.16 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 26.18/8.16 26.18/8.16 From the DPs we obtained the following set of size-change graphs: 26.18/8.16 *PLUS(X1, mark(X2)) -> PLUS(X1, X2) 26.18/8.16 The graph contains the following edges 1 >= 1, 2 > 2 26.18/8.16 26.18/8.16 26.18/8.16 *PLUS(mark(X1), X2) -> PLUS(X1, X2) 26.18/8.16 The graph contains the following edges 1 > 1, 2 >= 2 26.18/8.16 26.18/8.16 26.18/8.16 *PLUS(active(X1), X2) -> PLUS(X1, X2) 26.18/8.16 The graph contains the following edges 1 > 1, 2 >= 2 26.18/8.16 26.18/8.16 26.18/8.16 *PLUS(X1, active(X2)) -> PLUS(X1, X2) 26.18/8.16 The graph contains the following edges 1 >= 1, 2 > 2 26.18/8.16 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (11) 26.18/8.16 YES 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (12) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 S(active(X)) -> S(X) 26.18/8.16 S(mark(X)) -> S(X) 26.18/8.16 26.18/8.16 The TRS R consists of the following rules: 26.18/8.16 26.18/8.16 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.16 active(U12(tt)) -> mark(tt) 26.18/8.16 active(U21(tt)) -> mark(tt) 26.18/8.16 active(U31(tt, N)) -> mark(N) 26.18/8.16 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.16 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.16 active(isNat(0)) -> mark(tt) 26.18/8.16 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.16 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.16 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.16 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.16 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.16 mark(tt) -> active(tt) 26.18/8.16 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.16 mark(isNat(X)) -> active(isNat(X)) 26.18/8.16 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.16 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.16 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.16 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.16 mark(s(X)) -> active(s(mark(X))) 26.18/8.16 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.16 mark(0) -> active(0) 26.18/8.16 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.16 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.16 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.16 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.16 U12(mark(X)) -> U12(X) 26.18/8.16 U12(active(X)) -> U12(X) 26.18/8.16 isNat(mark(X)) -> isNat(X) 26.18/8.16 isNat(active(X)) -> isNat(X) 26.18/8.16 U21(mark(X)) -> U21(X) 26.18/8.16 U21(active(X)) -> U21(X) 26.18/8.16 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.16 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.16 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.16 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.16 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.16 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.16 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.16 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.16 s(mark(X)) -> s(X) 26.18/8.16 s(active(X)) -> s(X) 26.18/8.16 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.16 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.16 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.16 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.16 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (13) UsableRulesProof (EQUIVALENT) 26.18/8.16 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (14) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 S(active(X)) -> S(X) 26.18/8.16 S(mark(X)) -> S(X) 26.18/8.16 26.18/8.16 R is empty. 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (15) QReductionProof (EQUIVALENT) 26.18/8.16 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 26.18/8.16 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (16) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 S(active(X)) -> S(X) 26.18/8.16 S(mark(X)) -> S(X) 26.18/8.16 26.18/8.16 R is empty. 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (17) QDPSizeChangeProof (EQUIVALENT) 26.18/8.16 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 26.18/8.16 26.18/8.16 From the DPs we obtained the following set of size-change graphs: 26.18/8.16 *S(active(X)) -> S(X) 26.18/8.16 The graph contains the following edges 1 > 1 26.18/8.16 26.18/8.16 26.18/8.16 *S(mark(X)) -> S(X) 26.18/8.16 The graph contains the following edges 1 > 1 26.18/8.16 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (18) 26.18/8.16 YES 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (19) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 U42^1(X1, mark(X2), X3) -> U42^1(X1, X2, X3) 26.18/8.16 U42^1(mark(X1), X2, X3) -> U42^1(X1, X2, X3) 26.18/8.16 U42^1(X1, X2, mark(X3)) -> U42^1(X1, X2, X3) 26.18/8.16 U42^1(active(X1), X2, X3) -> U42^1(X1, X2, X3) 26.18/8.16 U42^1(X1, active(X2), X3) -> U42^1(X1, X2, X3) 26.18/8.16 U42^1(X1, X2, active(X3)) -> U42^1(X1, X2, X3) 26.18/8.16 26.18/8.16 The TRS R consists of the following rules: 26.18/8.16 26.18/8.16 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.16 active(U12(tt)) -> mark(tt) 26.18/8.16 active(U21(tt)) -> mark(tt) 26.18/8.16 active(U31(tt, N)) -> mark(N) 26.18/8.16 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.16 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.16 active(isNat(0)) -> mark(tt) 26.18/8.16 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.16 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.16 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.16 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.16 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.16 mark(tt) -> active(tt) 26.18/8.16 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.16 mark(isNat(X)) -> active(isNat(X)) 26.18/8.16 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.16 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.16 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.16 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.16 mark(s(X)) -> active(s(mark(X))) 26.18/8.16 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.16 mark(0) -> active(0) 26.18/8.16 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.16 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.16 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.16 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.16 U12(mark(X)) -> U12(X) 26.18/8.16 U12(active(X)) -> U12(X) 26.18/8.16 isNat(mark(X)) -> isNat(X) 26.18/8.16 isNat(active(X)) -> isNat(X) 26.18/8.16 U21(mark(X)) -> U21(X) 26.18/8.16 U21(active(X)) -> U21(X) 26.18/8.16 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.16 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.16 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.16 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.16 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.16 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.16 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.16 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.16 s(mark(X)) -> s(X) 26.18/8.16 s(active(X)) -> s(X) 26.18/8.16 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.16 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.16 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.16 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.16 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (20) UsableRulesProof (EQUIVALENT) 26.18/8.16 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (21) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 U42^1(X1, mark(X2), X3) -> U42^1(X1, X2, X3) 26.18/8.16 U42^1(mark(X1), X2, X3) -> U42^1(X1, X2, X3) 26.18/8.16 U42^1(X1, X2, mark(X3)) -> U42^1(X1, X2, X3) 26.18/8.16 U42^1(active(X1), X2, X3) -> U42^1(X1, X2, X3) 26.18/8.16 U42^1(X1, active(X2), X3) -> U42^1(X1, X2, X3) 26.18/8.16 U42^1(X1, X2, active(X3)) -> U42^1(X1, X2, X3) 26.18/8.16 26.18/8.16 R is empty. 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (22) QReductionProof (EQUIVALENT) 26.18/8.16 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 26.18/8.16 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (23) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 U42^1(X1, mark(X2), X3) -> U42^1(X1, X2, X3) 26.18/8.16 U42^1(mark(X1), X2, X3) -> U42^1(X1, X2, X3) 26.18/8.16 U42^1(X1, X2, mark(X3)) -> U42^1(X1, X2, X3) 26.18/8.16 U42^1(active(X1), X2, X3) -> U42^1(X1, X2, X3) 26.18/8.16 U42^1(X1, active(X2), X3) -> U42^1(X1, X2, X3) 26.18/8.16 U42^1(X1, X2, active(X3)) -> U42^1(X1, X2, X3) 26.18/8.16 26.18/8.16 R is empty. 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (24) QDPSizeChangeProof (EQUIVALENT) 26.18/8.16 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 26.18/8.16 26.18/8.16 From the DPs we obtained the following set of size-change graphs: 26.18/8.16 *U42^1(X1, mark(X2), X3) -> U42^1(X1, X2, X3) 26.18/8.16 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 26.18/8.16 26.18/8.16 26.18/8.16 *U42^1(mark(X1), X2, X3) -> U42^1(X1, X2, X3) 26.18/8.16 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 26.18/8.16 26.18/8.16 26.18/8.16 *U42^1(X1, X2, mark(X3)) -> U42^1(X1, X2, X3) 26.18/8.16 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 26.18/8.16 26.18/8.16 26.18/8.16 *U42^1(active(X1), X2, X3) -> U42^1(X1, X2, X3) 26.18/8.16 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 26.18/8.16 26.18/8.16 26.18/8.16 *U42^1(X1, active(X2), X3) -> U42^1(X1, X2, X3) 26.18/8.16 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 26.18/8.16 26.18/8.16 26.18/8.16 *U42^1(X1, X2, active(X3)) -> U42^1(X1, X2, X3) 26.18/8.16 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 26.18/8.16 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (25) 26.18/8.16 YES 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (26) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 U41^1(X1, mark(X2), X3) -> U41^1(X1, X2, X3) 26.18/8.16 U41^1(mark(X1), X2, X3) -> U41^1(X1, X2, X3) 26.18/8.16 U41^1(X1, X2, mark(X3)) -> U41^1(X1, X2, X3) 26.18/8.16 U41^1(active(X1), X2, X3) -> U41^1(X1, X2, X3) 26.18/8.16 U41^1(X1, active(X2), X3) -> U41^1(X1, X2, X3) 26.18/8.16 U41^1(X1, X2, active(X3)) -> U41^1(X1, X2, X3) 26.18/8.16 26.18/8.16 The TRS R consists of the following rules: 26.18/8.16 26.18/8.16 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.16 active(U12(tt)) -> mark(tt) 26.18/8.16 active(U21(tt)) -> mark(tt) 26.18/8.16 active(U31(tt, N)) -> mark(N) 26.18/8.16 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.16 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.16 active(isNat(0)) -> mark(tt) 26.18/8.16 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.16 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.16 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.16 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.16 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.16 mark(tt) -> active(tt) 26.18/8.16 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.16 mark(isNat(X)) -> active(isNat(X)) 26.18/8.16 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.16 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.16 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.16 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.16 mark(s(X)) -> active(s(mark(X))) 26.18/8.16 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.16 mark(0) -> active(0) 26.18/8.16 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.16 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.16 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.16 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.16 U12(mark(X)) -> U12(X) 26.18/8.16 U12(active(X)) -> U12(X) 26.18/8.16 isNat(mark(X)) -> isNat(X) 26.18/8.16 isNat(active(X)) -> isNat(X) 26.18/8.16 U21(mark(X)) -> U21(X) 26.18/8.16 U21(active(X)) -> U21(X) 26.18/8.16 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.16 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.16 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.16 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.16 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.16 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.16 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.16 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.16 s(mark(X)) -> s(X) 26.18/8.16 s(active(X)) -> s(X) 26.18/8.16 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.16 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.16 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.16 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.16 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (27) UsableRulesProof (EQUIVALENT) 26.18/8.16 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (28) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 U41^1(X1, mark(X2), X3) -> U41^1(X1, X2, X3) 26.18/8.16 U41^1(mark(X1), X2, X3) -> U41^1(X1, X2, X3) 26.18/8.16 U41^1(X1, X2, mark(X3)) -> U41^1(X1, X2, X3) 26.18/8.16 U41^1(active(X1), X2, X3) -> U41^1(X1, X2, X3) 26.18/8.16 U41^1(X1, active(X2), X3) -> U41^1(X1, X2, X3) 26.18/8.16 U41^1(X1, X2, active(X3)) -> U41^1(X1, X2, X3) 26.18/8.16 26.18/8.16 R is empty. 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (29) QReductionProof (EQUIVALENT) 26.18/8.16 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 26.18/8.16 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (30) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 U41^1(X1, mark(X2), X3) -> U41^1(X1, X2, X3) 26.18/8.16 U41^1(mark(X1), X2, X3) -> U41^1(X1, X2, X3) 26.18/8.16 U41^1(X1, X2, mark(X3)) -> U41^1(X1, X2, X3) 26.18/8.16 U41^1(active(X1), X2, X3) -> U41^1(X1, X2, X3) 26.18/8.16 U41^1(X1, active(X2), X3) -> U41^1(X1, X2, X3) 26.18/8.16 U41^1(X1, X2, active(X3)) -> U41^1(X1, X2, X3) 26.18/8.16 26.18/8.16 R is empty. 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (31) QDPSizeChangeProof (EQUIVALENT) 26.18/8.16 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 26.18/8.16 26.18/8.16 From the DPs we obtained the following set of size-change graphs: 26.18/8.16 *U41^1(X1, mark(X2), X3) -> U41^1(X1, X2, X3) 26.18/8.16 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 26.18/8.16 26.18/8.16 26.18/8.16 *U41^1(mark(X1), X2, X3) -> U41^1(X1, X2, X3) 26.18/8.16 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 26.18/8.16 26.18/8.16 26.18/8.16 *U41^1(X1, X2, mark(X3)) -> U41^1(X1, X2, X3) 26.18/8.16 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 26.18/8.16 26.18/8.16 26.18/8.16 *U41^1(active(X1), X2, X3) -> U41^1(X1, X2, X3) 26.18/8.16 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 26.18/8.16 26.18/8.16 26.18/8.16 *U41^1(X1, active(X2), X3) -> U41^1(X1, X2, X3) 26.18/8.16 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 26.18/8.16 26.18/8.16 26.18/8.16 *U41^1(X1, X2, active(X3)) -> U41^1(X1, X2, X3) 26.18/8.16 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 26.18/8.16 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (32) 26.18/8.16 YES 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (33) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 U31^1(X1, mark(X2)) -> U31^1(X1, X2) 26.18/8.16 U31^1(mark(X1), X2) -> U31^1(X1, X2) 26.18/8.16 U31^1(active(X1), X2) -> U31^1(X1, X2) 26.18/8.16 U31^1(X1, active(X2)) -> U31^1(X1, X2) 26.18/8.16 26.18/8.16 The TRS R consists of the following rules: 26.18/8.16 26.18/8.16 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.16 active(U12(tt)) -> mark(tt) 26.18/8.16 active(U21(tt)) -> mark(tt) 26.18/8.16 active(U31(tt, N)) -> mark(N) 26.18/8.16 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.16 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.16 active(isNat(0)) -> mark(tt) 26.18/8.16 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.16 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.16 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.16 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.16 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.16 mark(tt) -> active(tt) 26.18/8.16 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.16 mark(isNat(X)) -> active(isNat(X)) 26.18/8.16 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.16 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.16 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.16 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.16 mark(s(X)) -> active(s(mark(X))) 26.18/8.16 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.16 mark(0) -> active(0) 26.18/8.16 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.16 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.16 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.16 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.16 U12(mark(X)) -> U12(X) 26.18/8.16 U12(active(X)) -> U12(X) 26.18/8.16 isNat(mark(X)) -> isNat(X) 26.18/8.16 isNat(active(X)) -> isNat(X) 26.18/8.16 U21(mark(X)) -> U21(X) 26.18/8.16 U21(active(X)) -> U21(X) 26.18/8.16 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.16 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.16 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.16 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.16 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.16 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.16 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.16 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.16 s(mark(X)) -> s(X) 26.18/8.16 s(active(X)) -> s(X) 26.18/8.16 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.16 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.16 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.16 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.16 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (34) UsableRulesProof (EQUIVALENT) 26.18/8.16 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (35) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 U31^1(X1, mark(X2)) -> U31^1(X1, X2) 26.18/8.16 U31^1(mark(X1), X2) -> U31^1(X1, X2) 26.18/8.16 U31^1(active(X1), X2) -> U31^1(X1, X2) 26.18/8.16 U31^1(X1, active(X2)) -> U31^1(X1, X2) 26.18/8.16 26.18/8.16 R is empty. 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (36) QReductionProof (EQUIVALENT) 26.18/8.16 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 26.18/8.16 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (37) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 U31^1(X1, mark(X2)) -> U31^1(X1, X2) 26.18/8.16 U31^1(mark(X1), X2) -> U31^1(X1, X2) 26.18/8.16 U31^1(active(X1), X2) -> U31^1(X1, X2) 26.18/8.16 U31^1(X1, active(X2)) -> U31^1(X1, X2) 26.18/8.16 26.18/8.16 R is empty. 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (38) QDPSizeChangeProof (EQUIVALENT) 26.18/8.16 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 26.18/8.16 26.18/8.16 From the DPs we obtained the following set of size-change graphs: 26.18/8.16 *U31^1(X1, mark(X2)) -> U31^1(X1, X2) 26.18/8.16 The graph contains the following edges 1 >= 1, 2 > 2 26.18/8.16 26.18/8.16 26.18/8.16 *U31^1(mark(X1), X2) -> U31^1(X1, X2) 26.18/8.16 The graph contains the following edges 1 > 1, 2 >= 2 26.18/8.16 26.18/8.16 26.18/8.16 *U31^1(active(X1), X2) -> U31^1(X1, X2) 26.18/8.16 The graph contains the following edges 1 > 1, 2 >= 2 26.18/8.16 26.18/8.16 26.18/8.16 *U31^1(X1, active(X2)) -> U31^1(X1, X2) 26.18/8.16 The graph contains the following edges 1 >= 1, 2 > 2 26.18/8.16 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (39) 26.18/8.16 YES 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (40) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 U21^1(active(X)) -> U21^1(X) 26.18/8.16 U21^1(mark(X)) -> U21^1(X) 26.18/8.16 26.18/8.16 The TRS R consists of the following rules: 26.18/8.16 26.18/8.16 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.16 active(U12(tt)) -> mark(tt) 26.18/8.16 active(U21(tt)) -> mark(tt) 26.18/8.16 active(U31(tt, N)) -> mark(N) 26.18/8.16 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.16 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.16 active(isNat(0)) -> mark(tt) 26.18/8.16 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.16 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.16 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.16 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.16 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.16 mark(tt) -> active(tt) 26.18/8.16 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.16 mark(isNat(X)) -> active(isNat(X)) 26.18/8.16 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.16 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.16 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.16 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.16 mark(s(X)) -> active(s(mark(X))) 26.18/8.16 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.16 mark(0) -> active(0) 26.18/8.16 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.16 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.16 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.16 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.16 U12(mark(X)) -> U12(X) 26.18/8.16 U12(active(X)) -> U12(X) 26.18/8.16 isNat(mark(X)) -> isNat(X) 26.18/8.16 isNat(active(X)) -> isNat(X) 26.18/8.16 U21(mark(X)) -> U21(X) 26.18/8.16 U21(active(X)) -> U21(X) 26.18/8.16 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.16 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.16 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.16 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.16 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.16 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.16 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.16 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.16 s(mark(X)) -> s(X) 26.18/8.16 s(active(X)) -> s(X) 26.18/8.16 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.16 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.16 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.16 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.16 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (41) UsableRulesProof (EQUIVALENT) 26.18/8.16 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (42) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 U21^1(active(X)) -> U21^1(X) 26.18/8.16 U21^1(mark(X)) -> U21^1(X) 26.18/8.16 26.18/8.16 R is empty. 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (43) QReductionProof (EQUIVALENT) 26.18/8.16 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 26.18/8.16 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (44) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 U21^1(active(X)) -> U21^1(X) 26.18/8.16 U21^1(mark(X)) -> U21^1(X) 26.18/8.16 26.18/8.16 R is empty. 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (45) QDPSizeChangeProof (EQUIVALENT) 26.18/8.16 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 26.18/8.16 26.18/8.16 From the DPs we obtained the following set of size-change graphs: 26.18/8.16 *U21^1(active(X)) -> U21^1(X) 26.18/8.16 The graph contains the following edges 1 > 1 26.18/8.16 26.18/8.16 26.18/8.16 *U21^1(mark(X)) -> U21^1(X) 26.18/8.16 The graph contains the following edges 1 > 1 26.18/8.16 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (46) 26.18/8.16 YES 26.18/8.16 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (47) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 ISNAT(active(X)) -> ISNAT(X) 26.18/8.16 ISNAT(mark(X)) -> ISNAT(X) 26.18/8.16 26.18/8.16 The TRS R consists of the following rules: 26.18/8.16 26.18/8.16 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.16 active(U12(tt)) -> mark(tt) 26.18/8.16 active(U21(tt)) -> mark(tt) 26.18/8.16 active(U31(tt, N)) -> mark(N) 26.18/8.16 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.16 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.16 active(isNat(0)) -> mark(tt) 26.18/8.16 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.16 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.16 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.16 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.16 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.16 mark(tt) -> active(tt) 26.18/8.16 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.16 mark(isNat(X)) -> active(isNat(X)) 26.18/8.16 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.16 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.16 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.16 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.16 mark(s(X)) -> active(s(mark(X))) 26.18/8.16 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.16 mark(0) -> active(0) 26.18/8.16 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.16 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.16 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.16 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.16 U12(mark(X)) -> U12(X) 26.18/8.16 U12(active(X)) -> U12(X) 26.18/8.16 isNat(mark(X)) -> isNat(X) 26.18/8.16 isNat(active(X)) -> isNat(X) 26.18/8.16 U21(mark(X)) -> U21(X) 26.18/8.16 U21(active(X)) -> U21(X) 26.18/8.16 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.16 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.16 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.16 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.16 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.16 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.16 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.16 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.16 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.16 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.16 s(mark(X)) -> s(X) 26.18/8.16 s(active(X)) -> s(X) 26.18/8.16 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.16 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.16 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.16 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.16 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.16 s(active(x0)) 26.18/8.16 plus(mark(x0), x1) 26.18/8.16 plus(x0, mark(x1)) 26.18/8.16 plus(active(x0), x1) 26.18/8.16 plus(x0, active(x1)) 26.18/8.16 26.18/8.16 We have to consider all minimal (P,Q,R)-chains. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (48) UsableRulesProof (EQUIVALENT) 26.18/8.16 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 26.18/8.16 ---------------------------------------- 26.18/8.16 26.18/8.16 (49) 26.18/8.16 Obligation: 26.18/8.16 Q DP problem: 26.18/8.16 The TRS P consists of the following rules: 26.18/8.16 26.18/8.16 ISNAT(active(X)) -> ISNAT(X) 26.18/8.16 ISNAT(mark(X)) -> ISNAT(X) 26.18/8.16 26.18/8.16 R is empty. 26.18/8.16 The set Q consists of the following terms: 26.18/8.16 26.18/8.16 active(U11(tt, x0)) 26.18/8.16 active(U12(tt)) 26.18/8.16 active(U21(tt)) 26.18/8.16 active(U31(tt, x0)) 26.18/8.16 active(U41(tt, x0, x1)) 26.18/8.16 active(U42(tt, x0, x1)) 26.18/8.16 active(isNat(0)) 26.18/8.16 active(isNat(plus(x0, x1))) 26.18/8.16 active(isNat(s(x0))) 26.18/8.16 active(plus(x0, 0)) 26.18/8.16 active(plus(x0, s(x1))) 26.18/8.16 mark(U11(x0, x1)) 26.18/8.16 mark(tt) 26.18/8.16 mark(U12(x0)) 26.18/8.16 mark(isNat(x0)) 26.18/8.16 mark(U21(x0)) 26.18/8.16 mark(U31(x0, x1)) 26.18/8.16 mark(U41(x0, x1, x2)) 26.18/8.16 mark(U42(x0, x1, x2)) 26.18/8.16 mark(s(x0)) 26.18/8.16 mark(plus(x0, x1)) 26.18/8.16 mark(0) 26.18/8.16 U11(mark(x0), x1) 26.18/8.16 U11(x0, mark(x1)) 26.18/8.16 U11(active(x0), x1) 26.18/8.16 U11(x0, active(x1)) 26.18/8.16 U12(mark(x0)) 26.18/8.16 U12(active(x0)) 26.18/8.16 isNat(mark(x0)) 26.18/8.16 isNat(active(x0)) 26.18/8.16 U21(mark(x0)) 26.18/8.16 U21(active(x0)) 26.18/8.16 U31(mark(x0), x1) 26.18/8.16 U31(x0, mark(x1)) 26.18/8.16 U31(active(x0), x1) 26.18/8.16 U31(x0, active(x1)) 26.18/8.16 U41(mark(x0), x1, x2) 26.18/8.16 U41(x0, mark(x1), x2) 26.18/8.16 U41(x0, x1, mark(x2)) 26.18/8.16 U41(active(x0), x1, x2) 26.18/8.16 U41(x0, active(x1), x2) 26.18/8.16 U41(x0, x1, active(x2)) 26.18/8.16 U42(mark(x0), x1, x2) 26.18/8.16 U42(x0, mark(x1), x2) 26.18/8.16 U42(x0, x1, mark(x2)) 26.18/8.16 U42(active(x0), x1, x2) 26.18/8.16 U42(x0, active(x1), x2) 26.18/8.16 U42(x0, x1, active(x2)) 26.18/8.16 s(mark(x0)) 26.18/8.17 s(active(x0)) 26.18/8.17 plus(mark(x0), x1) 26.18/8.17 plus(x0, mark(x1)) 26.18/8.17 plus(active(x0), x1) 26.18/8.17 plus(x0, active(x1)) 26.18/8.17 26.18/8.17 We have to consider all minimal (P,Q,R)-chains. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (50) QReductionProof (EQUIVALENT) 26.18/8.17 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 26.18/8.17 26.18/8.17 U11(mark(x0), x1) 26.18/8.17 U11(x0, mark(x1)) 26.18/8.17 U11(active(x0), x1) 26.18/8.17 U11(x0, active(x1)) 26.18/8.17 U12(mark(x0)) 26.18/8.17 U12(active(x0)) 26.18/8.17 isNat(mark(x0)) 26.18/8.17 isNat(active(x0)) 26.18/8.17 U21(mark(x0)) 26.18/8.17 U21(active(x0)) 26.18/8.17 U31(mark(x0), x1) 26.18/8.17 U31(x0, mark(x1)) 26.18/8.17 U31(active(x0), x1) 26.18/8.17 U31(x0, active(x1)) 26.18/8.17 U41(mark(x0), x1, x2) 26.18/8.17 U41(x0, mark(x1), x2) 26.18/8.17 U41(x0, x1, mark(x2)) 26.18/8.17 U41(active(x0), x1, x2) 26.18/8.17 U41(x0, active(x1), x2) 26.18/8.17 U41(x0, x1, active(x2)) 26.18/8.17 U42(mark(x0), x1, x2) 26.18/8.17 U42(x0, mark(x1), x2) 26.18/8.17 U42(x0, x1, mark(x2)) 26.18/8.17 U42(active(x0), x1, x2) 26.18/8.17 U42(x0, active(x1), x2) 26.18/8.17 U42(x0, x1, active(x2)) 26.18/8.17 s(mark(x0)) 26.18/8.17 s(active(x0)) 26.18/8.17 plus(mark(x0), x1) 26.18/8.17 plus(x0, mark(x1)) 26.18/8.17 plus(active(x0), x1) 26.18/8.17 plus(x0, active(x1)) 26.18/8.17 26.18/8.17 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (51) 26.18/8.17 Obligation: 26.18/8.17 Q DP problem: 26.18/8.17 The TRS P consists of the following rules: 26.18/8.17 26.18/8.17 ISNAT(active(X)) -> ISNAT(X) 26.18/8.17 ISNAT(mark(X)) -> ISNAT(X) 26.18/8.17 26.18/8.17 R is empty. 26.18/8.17 The set Q consists of the following terms: 26.18/8.17 26.18/8.17 active(U11(tt, x0)) 26.18/8.17 active(U12(tt)) 26.18/8.17 active(U21(tt)) 26.18/8.17 active(U31(tt, x0)) 26.18/8.17 active(U41(tt, x0, x1)) 26.18/8.17 active(U42(tt, x0, x1)) 26.18/8.17 active(isNat(0)) 26.18/8.17 active(isNat(plus(x0, x1))) 26.18/8.17 active(isNat(s(x0))) 26.18/8.17 active(plus(x0, 0)) 26.18/8.17 active(plus(x0, s(x1))) 26.18/8.17 mark(U11(x0, x1)) 26.18/8.17 mark(tt) 26.18/8.17 mark(U12(x0)) 26.18/8.17 mark(isNat(x0)) 26.18/8.17 mark(U21(x0)) 26.18/8.17 mark(U31(x0, x1)) 26.18/8.17 mark(U41(x0, x1, x2)) 26.18/8.17 mark(U42(x0, x1, x2)) 26.18/8.17 mark(s(x0)) 26.18/8.17 mark(plus(x0, x1)) 26.18/8.17 mark(0) 26.18/8.17 26.18/8.17 We have to consider all minimal (P,Q,R)-chains. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (52) QDPSizeChangeProof (EQUIVALENT) 26.18/8.17 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 26.18/8.17 26.18/8.17 From the DPs we obtained the following set of size-change graphs: 26.18/8.17 *ISNAT(active(X)) -> ISNAT(X) 26.18/8.17 The graph contains the following edges 1 > 1 26.18/8.17 26.18/8.17 26.18/8.17 *ISNAT(mark(X)) -> ISNAT(X) 26.18/8.17 The graph contains the following edges 1 > 1 26.18/8.17 26.18/8.17 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (53) 26.18/8.17 YES 26.18/8.17 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (54) 26.18/8.17 Obligation: 26.18/8.17 Q DP problem: 26.18/8.17 The TRS P consists of the following rules: 26.18/8.17 26.18/8.17 U12^1(active(X)) -> U12^1(X) 26.18/8.17 U12^1(mark(X)) -> U12^1(X) 26.18/8.17 26.18/8.17 The TRS R consists of the following rules: 26.18/8.17 26.18/8.17 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.17 active(U12(tt)) -> mark(tt) 26.18/8.17 active(U21(tt)) -> mark(tt) 26.18/8.17 active(U31(tt, N)) -> mark(N) 26.18/8.17 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.17 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.17 active(isNat(0)) -> mark(tt) 26.18/8.17 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.17 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.17 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.17 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.17 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.17 mark(tt) -> active(tt) 26.18/8.17 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.17 mark(isNat(X)) -> active(isNat(X)) 26.18/8.17 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.17 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.17 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.17 mark(s(X)) -> active(s(mark(X))) 26.18/8.17 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.17 mark(0) -> active(0) 26.18/8.17 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.17 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.17 U12(mark(X)) -> U12(X) 26.18/8.17 U12(active(X)) -> U12(X) 26.18/8.17 isNat(mark(X)) -> isNat(X) 26.18/8.17 isNat(active(X)) -> isNat(X) 26.18/8.17 U21(mark(X)) -> U21(X) 26.18/8.17 U21(active(X)) -> U21(X) 26.18/8.17 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.17 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.17 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.17 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.17 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.17 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.17 s(mark(X)) -> s(X) 26.18/8.17 s(active(X)) -> s(X) 26.18/8.17 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.17 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.17 26.18/8.17 The set Q consists of the following terms: 26.18/8.17 26.18/8.17 active(U11(tt, x0)) 26.18/8.17 active(U12(tt)) 26.18/8.17 active(U21(tt)) 26.18/8.17 active(U31(tt, x0)) 26.18/8.17 active(U41(tt, x0, x1)) 26.18/8.17 active(U42(tt, x0, x1)) 26.18/8.17 active(isNat(0)) 26.18/8.17 active(isNat(plus(x0, x1))) 26.18/8.17 active(isNat(s(x0))) 26.18/8.17 active(plus(x0, 0)) 26.18/8.17 active(plus(x0, s(x1))) 26.18/8.17 mark(U11(x0, x1)) 26.18/8.17 mark(tt) 26.18/8.17 mark(U12(x0)) 26.18/8.17 mark(isNat(x0)) 26.18/8.17 mark(U21(x0)) 26.18/8.17 mark(U31(x0, x1)) 26.18/8.17 mark(U41(x0, x1, x2)) 26.18/8.17 mark(U42(x0, x1, x2)) 26.18/8.17 mark(s(x0)) 26.18/8.17 mark(plus(x0, x1)) 26.18/8.17 mark(0) 26.18/8.17 U11(mark(x0), x1) 26.18/8.17 U11(x0, mark(x1)) 26.18/8.17 U11(active(x0), x1) 26.18/8.17 U11(x0, active(x1)) 26.18/8.17 U12(mark(x0)) 26.18/8.17 U12(active(x0)) 26.18/8.17 isNat(mark(x0)) 26.18/8.17 isNat(active(x0)) 26.18/8.17 U21(mark(x0)) 26.18/8.17 U21(active(x0)) 26.18/8.17 U31(mark(x0), x1) 26.18/8.17 U31(x0, mark(x1)) 26.18/8.17 U31(active(x0), x1) 26.18/8.17 U31(x0, active(x1)) 26.18/8.17 U41(mark(x0), x1, x2) 26.18/8.17 U41(x0, mark(x1), x2) 26.18/8.17 U41(x0, x1, mark(x2)) 26.18/8.17 U41(active(x0), x1, x2) 26.18/8.17 U41(x0, active(x1), x2) 26.18/8.17 U41(x0, x1, active(x2)) 26.18/8.17 U42(mark(x0), x1, x2) 26.18/8.17 U42(x0, mark(x1), x2) 26.18/8.17 U42(x0, x1, mark(x2)) 26.18/8.17 U42(active(x0), x1, x2) 26.18/8.17 U42(x0, active(x1), x2) 26.18/8.17 U42(x0, x1, active(x2)) 26.18/8.17 s(mark(x0)) 26.18/8.17 s(active(x0)) 26.18/8.17 plus(mark(x0), x1) 26.18/8.17 plus(x0, mark(x1)) 26.18/8.17 plus(active(x0), x1) 26.18/8.17 plus(x0, active(x1)) 26.18/8.17 26.18/8.17 We have to consider all minimal (P,Q,R)-chains. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (55) UsableRulesProof (EQUIVALENT) 26.18/8.17 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (56) 26.18/8.17 Obligation: 26.18/8.17 Q DP problem: 26.18/8.17 The TRS P consists of the following rules: 26.18/8.17 26.18/8.17 U12^1(active(X)) -> U12^1(X) 26.18/8.17 U12^1(mark(X)) -> U12^1(X) 26.18/8.17 26.18/8.17 R is empty. 26.18/8.17 The set Q consists of the following terms: 26.18/8.17 26.18/8.17 active(U11(tt, x0)) 26.18/8.17 active(U12(tt)) 26.18/8.17 active(U21(tt)) 26.18/8.17 active(U31(tt, x0)) 26.18/8.17 active(U41(tt, x0, x1)) 26.18/8.17 active(U42(tt, x0, x1)) 26.18/8.17 active(isNat(0)) 26.18/8.17 active(isNat(plus(x0, x1))) 26.18/8.17 active(isNat(s(x0))) 26.18/8.17 active(plus(x0, 0)) 26.18/8.17 active(plus(x0, s(x1))) 26.18/8.17 mark(U11(x0, x1)) 26.18/8.17 mark(tt) 26.18/8.17 mark(U12(x0)) 26.18/8.17 mark(isNat(x0)) 26.18/8.17 mark(U21(x0)) 26.18/8.17 mark(U31(x0, x1)) 26.18/8.17 mark(U41(x0, x1, x2)) 26.18/8.17 mark(U42(x0, x1, x2)) 26.18/8.17 mark(s(x0)) 26.18/8.17 mark(plus(x0, x1)) 26.18/8.17 mark(0) 26.18/8.17 U11(mark(x0), x1) 26.18/8.17 U11(x0, mark(x1)) 26.18/8.17 U11(active(x0), x1) 26.18/8.17 U11(x0, active(x1)) 26.18/8.17 U12(mark(x0)) 26.18/8.17 U12(active(x0)) 26.18/8.17 isNat(mark(x0)) 26.18/8.17 isNat(active(x0)) 26.18/8.17 U21(mark(x0)) 26.18/8.17 U21(active(x0)) 26.18/8.17 U31(mark(x0), x1) 26.18/8.17 U31(x0, mark(x1)) 26.18/8.17 U31(active(x0), x1) 26.18/8.17 U31(x0, active(x1)) 26.18/8.17 U41(mark(x0), x1, x2) 26.18/8.17 U41(x0, mark(x1), x2) 26.18/8.17 U41(x0, x1, mark(x2)) 26.18/8.17 U41(active(x0), x1, x2) 26.18/8.17 U41(x0, active(x1), x2) 26.18/8.17 U41(x0, x1, active(x2)) 26.18/8.17 U42(mark(x0), x1, x2) 26.18/8.17 U42(x0, mark(x1), x2) 26.18/8.17 U42(x0, x1, mark(x2)) 26.18/8.17 U42(active(x0), x1, x2) 26.18/8.17 U42(x0, active(x1), x2) 26.18/8.17 U42(x0, x1, active(x2)) 26.18/8.17 s(mark(x0)) 26.18/8.17 s(active(x0)) 26.18/8.17 plus(mark(x0), x1) 26.18/8.17 plus(x0, mark(x1)) 26.18/8.17 plus(active(x0), x1) 26.18/8.17 plus(x0, active(x1)) 26.18/8.17 26.18/8.17 We have to consider all minimal (P,Q,R)-chains. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (57) QReductionProof (EQUIVALENT) 26.18/8.17 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 26.18/8.17 26.18/8.17 U11(mark(x0), x1) 26.18/8.17 U11(x0, mark(x1)) 26.18/8.17 U11(active(x0), x1) 26.18/8.17 U11(x0, active(x1)) 26.18/8.17 U12(mark(x0)) 26.18/8.17 U12(active(x0)) 26.18/8.17 isNat(mark(x0)) 26.18/8.17 isNat(active(x0)) 26.18/8.17 U21(mark(x0)) 26.18/8.17 U21(active(x0)) 26.18/8.17 U31(mark(x0), x1) 26.18/8.17 U31(x0, mark(x1)) 26.18/8.17 U31(active(x0), x1) 26.18/8.17 U31(x0, active(x1)) 26.18/8.17 U41(mark(x0), x1, x2) 26.18/8.17 U41(x0, mark(x1), x2) 26.18/8.17 U41(x0, x1, mark(x2)) 26.18/8.17 U41(active(x0), x1, x2) 26.18/8.17 U41(x0, active(x1), x2) 26.18/8.17 U41(x0, x1, active(x2)) 26.18/8.17 U42(mark(x0), x1, x2) 26.18/8.17 U42(x0, mark(x1), x2) 26.18/8.17 U42(x0, x1, mark(x2)) 26.18/8.17 U42(active(x0), x1, x2) 26.18/8.17 U42(x0, active(x1), x2) 26.18/8.17 U42(x0, x1, active(x2)) 26.18/8.17 s(mark(x0)) 26.18/8.17 s(active(x0)) 26.18/8.17 plus(mark(x0), x1) 26.18/8.17 plus(x0, mark(x1)) 26.18/8.17 plus(active(x0), x1) 26.18/8.17 plus(x0, active(x1)) 26.18/8.17 26.18/8.17 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (58) 26.18/8.17 Obligation: 26.18/8.17 Q DP problem: 26.18/8.17 The TRS P consists of the following rules: 26.18/8.17 26.18/8.17 U12^1(active(X)) -> U12^1(X) 26.18/8.17 U12^1(mark(X)) -> U12^1(X) 26.18/8.17 26.18/8.17 R is empty. 26.18/8.17 The set Q consists of the following terms: 26.18/8.17 26.18/8.17 active(U11(tt, x0)) 26.18/8.17 active(U12(tt)) 26.18/8.17 active(U21(tt)) 26.18/8.17 active(U31(tt, x0)) 26.18/8.17 active(U41(tt, x0, x1)) 26.18/8.17 active(U42(tt, x0, x1)) 26.18/8.17 active(isNat(0)) 26.18/8.17 active(isNat(plus(x0, x1))) 26.18/8.17 active(isNat(s(x0))) 26.18/8.17 active(plus(x0, 0)) 26.18/8.17 active(plus(x0, s(x1))) 26.18/8.17 mark(U11(x0, x1)) 26.18/8.17 mark(tt) 26.18/8.17 mark(U12(x0)) 26.18/8.17 mark(isNat(x0)) 26.18/8.17 mark(U21(x0)) 26.18/8.17 mark(U31(x0, x1)) 26.18/8.17 mark(U41(x0, x1, x2)) 26.18/8.17 mark(U42(x0, x1, x2)) 26.18/8.17 mark(s(x0)) 26.18/8.17 mark(plus(x0, x1)) 26.18/8.17 mark(0) 26.18/8.17 26.18/8.17 We have to consider all minimal (P,Q,R)-chains. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (59) QDPSizeChangeProof (EQUIVALENT) 26.18/8.17 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 26.18/8.17 26.18/8.17 From the DPs we obtained the following set of size-change graphs: 26.18/8.17 *U12^1(active(X)) -> U12^1(X) 26.18/8.17 The graph contains the following edges 1 > 1 26.18/8.17 26.18/8.17 26.18/8.17 *U12^1(mark(X)) -> U12^1(X) 26.18/8.17 The graph contains the following edges 1 > 1 26.18/8.17 26.18/8.17 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (60) 26.18/8.17 YES 26.18/8.17 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (61) 26.18/8.17 Obligation: 26.18/8.17 Q DP problem: 26.18/8.17 The TRS P consists of the following rules: 26.18/8.17 26.18/8.17 U11^1(X1, mark(X2)) -> U11^1(X1, X2) 26.18/8.17 U11^1(mark(X1), X2) -> U11^1(X1, X2) 26.18/8.17 U11^1(active(X1), X2) -> U11^1(X1, X2) 26.18/8.17 U11^1(X1, active(X2)) -> U11^1(X1, X2) 26.18/8.17 26.18/8.17 The TRS R consists of the following rules: 26.18/8.17 26.18/8.17 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.17 active(U12(tt)) -> mark(tt) 26.18/8.17 active(U21(tt)) -> mark(tt) 26.18/8.17 active(U31(tt, N)) -> mark(N) 26.18/8.17 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.17 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.17 active(isNat(0)) -> mark(tt) 26.18/8.17 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.17 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.17 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.17 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.17 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.17 mark(tt) -> active(tt) 26.18/8.17 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.17 mark(isNat(X)) -> active(isNat(X)) 26.18/8.17 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.17 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.17 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.17 mark(s(X)) -> active(s(mark(X))) 26.18/8.17 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.17 mark(0) -> active(0) 26.18/8.17 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.17 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.17 U12(mark(X)) -> U12(X) 26.18/8.17 U12(active(X)) -> U12(X) 26.18/8.17 isNat(mark(X)) -> isNat(X) 26.18/8.17 isNat(active(X)) -> isNat(X) 26.18/8.17 U21(mark(X)) -> U21(X) 26.18/8.17 U21(active(X)) -> U21(X) 26.18/8.17 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.17 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.17 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.17 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.17 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.17 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.17 s(mark(X)) -> s(X) 26.18/8.17 s(active(X)) -> s(X) 26.18/8.17 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.17 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.17 26.18/8.17 The set Q consists of the following terms: 26.18/8.17 26.18/8.17 active(U11(tt, x0)) 26.18/8.17 active(U12(tt)) 26.18/8.17 active(U21(tt)) 26.18/8.17 active(U31(tt, x0)) 26.18/8.17 active(U41(tt, x0, x1)) 26.18/8.17 active(U42(tt, x0, x1)) 26.18/8.17 active(isNat(0)) 26.18/8.17 active(isNat(plus(x0, x1))) 26.18/8.17 active(isNat(s(x0))) 26.18/8.17 active(plus(x0, 0)) 26.18/8.17 active(plus(x0, s(x1))) 26.18/8.17 mark(U11(x0, x1)) 26.18/8.17 mark(tt) 26.18/8.17 mark(U12(x0)) 26.18/8.17 mark(isNat(x0)) 26.18/8.17 mark(U21(x0)) 26.18/8.17 mark(U31(x0, x1)) 26.18/8.17 mark(U41(x0, x1, x2)) 26.18/8.17 mark(U42(x0, x1, x2)) 26.18/8.17 mark(s(x0)) 26.18/8.17 mark(plus(x0, x1)) 26.18/8.17 mark(0) 26.18/8.17 U11(mark(x0), x1) 26.18/8.17 U11(x0, mark(x1)) 26.18/8.17 U11(active(x0), x1) 26.18/8.17 U11(x0, active(x1)) 26.18/8.17 U12(mark(x0)) 26.18/8.17 U12(active(x0)) 26.18/8.17 isNat(mark(x0)) 26.18/8.17 isNat(active(x0)) 26.18/8.17 U21(mark(x0)) 26.18/8.17 U21(active(x0)) 26.18/8.17 U31(mark(x0), x1) 26.18/8.17 U31(x0, mark(x1)) 26.18/8.17 U31(active(x0), x1) 26.18/8.17 U31(x0, active(x1)) 26.18/8.17 U41(mark(x0), x1, x2) 26.18/8.17 U41(x0, mark(x1), x2) 26.18/8.17 U41(x0, x1, mark(x2)) 26.18/8.17 U41(active(x0), x1, x2) 26.18/8.17 U41(x0, active(x1), x2) 26.18/8.17 U41(x0, x1, active(x2)) 26.18/8.17 U42(mark(x0), x1, x2) 26.18/8.17 U42(x0, mark(x1), x2) 26.18/8.17 U42(x0, x1, mark(x2)) 26.18/8.17 U42(active(x0), x1, x2) 26.18/8.17 U42(x0, active(x1), x2) 26.18/8.17 U42(x0, x1, active(x2)) 26.18/8.17 s(mark(x0)) 26.18/8.17 s(active(x0)) 26.18/8.17 plus(mark(x0), x1) 26.18/8.17 plus(x0, mark(x1)) 26.18/8.17 plus(active(x0), x1) 26.18/8.17 plus(x0, active(x1)) 26.18/8.17 26.18/8.17 We have to consider all minimal (P,Q,R)-chains. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (62) UsableRulesProof (EQUIVALENT) 26.18/8.17 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (63) 26.18/8.17 Obligation: 26.18/8.17 Q DP problem: 26.18/8.17 The TRS P consists of the following rules: 26.18/8.17 26.18/8.17 U11^1(X1, mark(X2)) -> U11^1(X1, X2) 26.18/8.17 U11^1(mark(X1), X2) -> U11^1(X1, X2) 26.18/8.17 U11^1(active(X1), X2) -> U11^1(X1, X2) 26.18/8.17 U11^1(X1, active(X2)) -> U11^1(X1, X2) 26.18/8.17 26.18/8.17 R is empty. 26.18/8.17 The set Q consists of the following terms: 26.18/8.17 26.18/8.17 active(U11(tt, x0)) 26.18/8.17 active(U12(tt)) 26.18/8.17 active(U21(tt)) 26.18/8.17 active(U31(tt, x0)) 26.18/8.17 active(U41(tt, x0, x1)) 26.18/8.17 active(U42(tt, x0, x1)) 26.18/8.17 active(isNat(0)) 26.18/8.17 active(isNat(plus(x0, x1))) 26.18/8.17 active(isNat(s(x0))) 26.18/8.17 active(plus(x0, 0)) 26.18/8.17 active(plus(x0, s(x1))) 26.18/8.17 mark(U11(x0, x1)) 26.18/8.17 mark(tt) 26.18/8.17 mark(U12(x0)) 26.18/8.17 mark(isNat(x0)) 26.18/8.17 mark(U21(x0)) 26.18/8.17 mark(U31(x0, x1)) 26.18/8.17 mark(U41(x0, x1, x2)) 26.18/8.17 mark(U42(x0, x1, x2)) 26.18/8.17 mark(s(x0)) 26.18/8.17 mark(plus(x0, x1)) 26.18/8.17 mark(0) 26.18/8.17 U11(mark(x0), x1) 26.18/8.17 U11(x0, mark(x1)) 26.18/8.17 U11(active(x0), x1) 26.18/8.17 U11(x0, active(x1)) 26.18/8.17 U12(mark(x0)) 26.18/8.17 U12(active(x0)) 26.18/8.17 isNat(mark(x0)) 26.18/8.17 isNat(active(x0)) 26.18/8.17 U21(mark(x0)) 26.18/8.17 U21(active(x0)) 26.18/8.17 U31(mark(x0), x1) 26.18/8.17 U31(x0, mark(x1)) 26.18/8.17 U31(active(x0), x1) 26.18/8.17 U31(x0, active(x1)) 26.18/8.17 U41(mark(x0), x1, x2) 26.18/8.17 U41(x0, mark(x1), x2) 26.18/8.17 U41(x0, x1, mark(x2)) 26.18/8.17 U41(active(x0), x1, x2) 26.18/8.17 U41(x0, active(x1), x2) 26.18/8.17 U41(x0, x1, active(x2)) 26.18/8.17 U42(mark(x0), x1, x2) 26.18/8.17 U42(x0, mark(x1), x2) 26.18/8.17 U42(x0, x1, mark(x2)) 26.18/8.17 U42(active(x0), x1, x2) 26.18/8.17 U42(x0, active(x1), x2) 26.18/8.17 U42(x0, x1, active(x2)) 26.18/8.17 s(mark(x0)) 26.18/8.17 s(active(x0)) 26.18/8.17 plus(mark(x0), x1) 26.18/8.17 plus(x0, mark(x1)) 26.18/8.17 plus(active(x0), x1) 26.18/8.17 plus(x0, active(x1)) 26.18/8.17 26.18/8.17 We have to consider all minimal (P,Q,R)-chains. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (64) QReductionProof (EQUIVALENT) 26.18/8.17 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 26.18/8.17 26.18/8.17 U11(mark(x0), x1) 26.18/8.17 U11(x0, mark(x1)) 26.18/8.17 U11(active(x0), x1) 26.18/8.17 U11(x0, active(x1)) 26.18/8.17 U12(mark(x0)) 26.18/8.17 U12(active(x0)) 26.18/8.17 isNat(mark(x0)) 26.18/8.17 isNat(active(x0)) 26.18/8.17 U21(mark(x0)) 26.18/8.17 U21(active(x0)) 26.18/8.17 U31(mark(x0), x1) 26.18/8.17 U31(x0, mark(x1)) 26.18/8.17 U31(active(x0), x1) 26.18/8.17 U31(x0, active(x1)) 26.18/8.17 U41(mark(x0), x1, x2) 26.18/8.17 U41(x0, mark(x1), x2) 26.18/8.17 U41(x0, x1, mark(x2)) 26.18/8.17 U41(active(x0), x1, x2) 26.18/8.17 U41(x0, active(x1), x2) 26.18/8.17 U41(x0, x1, active(x2)) 26.18/8.17 U42(mark(x0), x1, x2) 26.18/8.17 U42(x0, mark(x1), x2) 26.18/8.17 U42(x0, x1, mark(x2)) 26.18/8.17 U42(active(x0), x1, x2) 26.18/8.17 U42(x0, active(x1), x2) 26.18/8.17 U42(x0, x1, active(x2)) 26.18/8.17 s(mark(x0)) 26.18/8.17 s(active(x0)) 26.18/8.17 plus(mark(x0), x1) 26.18/8.17 plus(x0, mark(x1)) 26.18/8.17 plus(active(x0), x1) 26.18/8.17 plus(x0, active(x1)) 26.18/8.17 26.18/8.17 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (65) 26.18/8.17 Obligation: 26.18/8.17 Q DP problem: 26.18/8.17 The TRS P consists of the following rules: 26.18/8.17 26.18/8.17 U11^1(X1, mark(X2)) -> U11^1(X1, X2) 26.18/8.17 U11^1(mark(X1), X2) -> U11^1(X1, X2) 26.18/8.17 U11^1(active(X1), X2) -> U11^1(X1, X2) 26.18/8.17 U11^1(X1, active(X2)) -> U11^1(X1, X2) 26.18/8.17 26.18/8.17 R is empty. 26.18/8.17 The set Q consists of the following terms: 26.18/8.17 26.18/8.17 active(U11(tt, x0)) 26.18/8.17 active(U12(tt)) 26.18/8.17 active(U21(tt)) 26.18/8.17 active(U31(tt, x0)) 26.18/8.17 active(U41(tt, x0, x1)) 26.18/8.17 active(U42(tt, x0, x1)) 26.18/8.17 active(isNat(0)) 26.18/8.17 active(isNat(plus(x0, x1))) 26.18/8.17 active(isNat(s(x0))) 26.18/8.17 active(plus(x0, 0)) 26.18/8.17 active(plus(x0, s(x1))) 26.18/8.17 mark(U11(x0, x1)) 26.18/8.17 mark(tt) 26.18/8.17 mark(U12(x0)) 26.18/8.17 mark(isNat(x0)) 26.18/8.17 mark(U21(x0)) 26.18/8.17 mark(U31(x0, x1)) 26.18/8.17 mark(U41(x0, x1, x2)) 26.18/8.17 mark(U42(x0, x1, x2)) 26.18/8.17 mark(s(x0)) 26.18/8.17 mark(plus(x0, x1)) 26.18/8.17 mark(0) 26.18/8.17 26.18/8.17 We have to consider all minimal (P,Q,R)-chains. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (66) QDPSizeChangeProof (EQUIVALENT) 26.18/8.17 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 26.18/8.17 26.18/8.17 From the DPs we obtained the following set of size-change graphs: 26.18/8.17 *U11^1(X1, mark(X2)) -> U11^1(X1, X2) 26.18/8.17 The graph contains the following edges 1 >= 1, 2 > 2 26.18/8.17 26.18/8.17 26.18/8.17 *U11^1(mark(X1), X2) -> U11^1(X1, X2) 26.18/8.17 The graph contains the following edges 1 > 1, 2 >= 2 26.18/8.17 26.18/8.17 26.18/8.17 *U11^1(active(X1), X2) -> U11^1(X1, X2) 26.18/8.17 The graph contains the following edges 1 > 1, 2 >= 2 26.18/8.17 26.18/8.17 26.18/8.17 *U11^1(X1, active(X2)) -> U11^1(X1, X2) 26.18/8.17 The graph contains the following edges 1 >= 1, 2 > 2 26.18/8.17 26.18/8.17 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (67) 26.18/8.17 YES 26.18/8.17 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (68) 26.18/8.17 Obligation: 26.18/8.17 Q DP problem: 26.18/8.17 The TRS P consists of the following rules: 26.18/8.17 26.18/8.17 MARK(U12(X)) -> ACTIVE(U12(mark(X))) 26.18/8.17 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 26.18/8.17 MARK(U12(X)) -> MARK(X) 26.18/8.17 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 26.18/8.17 ACTIVE(U31(tt, N)) -> MARK(N) 26.18/8.17 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(isNat(X)) -> ACTIVE(isNat(X)) 26.18/8.17 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 26.18/8.17 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 26.18/8.17 MARK(U21(X)) -> ACTIVE(U21(mark(X))) 26.18/8.17 ACTIVE(U41(tt, M, N)) -> MARK(U42(isNat(N), M, N)) 26.18/8.17 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 26.18/8.17 ACTIVE(U42(tt, M, N)) -> MARK(s(plus(N, M))) 26.18/8.17 MARK(s(X)) -> ACTIVE(s(mark(X))) 26.18/8.17 ACTIVE(plus(N, 0)) -> MARK(U31(isNat(N), N)) 26.18/8.17 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 26.18/8.17 ACTIVE(plus(N, s(M))) -> MARK(U41(isNat(M), M, N)) 26.18/8.17 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 26.18/8.17 MARK(U41(X1, X2, X3)) -> MARK(X1) 26.18/8.17 MARK(U21(X)) -> MARK(X) 26.18/8.17 MARK(U31(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(U42(X1, X2, X3)) -> MARK(X1) 26.18/8.17 MARK(s(X)) -> MARK(X) 26.18/8.17 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 26.18/8.17 MARK(plus(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(plus(X1, X2)) -> MARK(X2) 26.18/8.17 26.18/8.17 The TRS R consists of the following rules: 26.18/8.17 26.18/8.17 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.17 active(U12(tt)) -> mark(tt) 26.18/8.17 active(U21(tt)) -> mark(tt) 26.18/8.17 active(U31(tt, N)) -> mark(N) 26.18/8.17 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.17 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.17 active(isNat(0)) -> mark(tt) 26.18/8.17 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.17 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.17 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.17 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.17 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.17 mark(tt) -> active(tt) 26.18/8.17 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.17 mark(isNat(X)) -> active(isNat(X)) 26.18/8.17 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.17 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.17 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.17 mark(s(X)) -> active(s(mark(X))) 26.18/8.17 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.17 mark(0) -> active(0) 26.18/8.17 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.17 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.17 U12(mark(X)) -> U12(X) 26.18/8.17 U12(active(X)) -> U12(X) 26.18/8.17 isNat(mark(X)) -> isNat(X) 26.18/8.17 isNat(active(X)) -> isNat(X) 26.18/8.17 U21(mark(X)) -> U21(X) 26.18/8.17 U21(active(X)) -> U21(X) 26.18/8.17 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.17 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.17 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.17 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.17 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.17 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.17 s(mark(X)) -> s(X) 26.18/8.17 s(active(X)) -> s(X) 26.18/8.17 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.17 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.17 26.18/8.17 The set Q consists of the following terms: 26.18/8.17 26.18/8.17 active(U11(tt, x0)) 26.18/8.17 active(U12(tt)) 26.18/8.17 active(U21(tt)) 26.18/8.17 active(U31(tt, x0)) 26.18/8.17 active(U41(tt, x0, x1)) 26.18/8.17 active(U42(tt, x0, x1)) 26.18/8.17 active(isNat(0)) 26.18/8.17 active(isNat(plus(x0, x1))) 26.18/8.17 active(isNat(s(x0))) 26.18/8.17 active(plus(x0, 0)) 26.18/8.17 active(plus(x0, s(x1))) 26.18/8.17 mark(U11(x0, x1)) 26.18/8.17 mark(tt) 26.18/8.17 mark(U12(x0)) 26.18/8.17 mark(isNat(x0)) 26.18/8.17 mark(U21(x0)) 26.18/8.17 mark(U31(x0, x1)) 26.18/8.17 mark(U41(x0, x1, x2)) 26.18/8.17 mark(U42(x0, x1, x2)) 26.18/8.17 mark(s(x0)) 26.18/8.17 mark(plus(x0, x1)) 26.18/8.17 mark(0) 26.18/8.17 U11(mark(x0), x1) 26.18/8.17 U11(x0, mark(x1)) 26.18/8.17 U11(active(x0), x1) 26.18/8.17 U11(x0, active(x1)) 26.18/8.17 U12(mark(x0)) 26.18/8.17 U12(active(x0)) 26.18/8.17 isNat(mark(x0)) 26.18/8.17 isNat(active(x0)) 26.18/8.17 U21(mark(x0)) 26.18/8.17 U21(active(x0)) 26.18/8.17 U31(mark(x0), x1) 26.18/8.17 U31(x0, mark(x1)) 26.18/8.17 U31(active(x0), x1) 26.18/8.17 U31(x0, active(x1)) 26.18/8.17 U41(mark(x0), x1, x2) 26.18/8.17 U41(x0, mark(x1), x2) 26.18/8.17 U41(x0, x1, mark(x2)) 26.18/8.17 U41(active(x0), x1, x2) 26.18/8.17 U41(x0, active(x1), x2) 26.18/8.17 U41(x0, x1, active(x2)) 26.18/8.17 U42(mark(x0), x1, x2) 26.18/8.17 U42(x0, mark(x1), x2) 26.18/8.17 U42(x0, x1, mark(x2)) 26.18/8.17 U42(active(x0), x1, x2) 26.18/8.17 U42(x0, active(x1), x2) 26.18/8.17 U42(x0, x1, active(x2)) 26.18/8.17 s(mark(x0)) 26.18/8.17 s(active(x0)) 26.18/8.17 plus(mark(x0), x1) 26.18/8.17 plus(x0, mark(x1)) 26.18/8.17 plus(active(x0), x1) 26.18/8.17 plus(x0, active(x1)) 26.18/8.17 26.18/8.17 We have to consider all minimal (P,Q,R)-chains. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (69) UsableRulesProof (EQUIVALENT) 26.18/8.17 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (70) 26.18/8.17 Obligation: 26.18/8.17 Q DP problem: 26.18/8.17 The TRS P consists of the following rules: 26.18/8.17 26.18/8.17 MARK(U12(X)) -> ACTIVE(U12(mark(X))) 26.18/8.17 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 26.18/8.17 MARK(U12(X)) -> MARK(X) 26.18/8.17 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 26.18/8.17 ACTIVE(U31(tt, N)) -> MARK(N) 26.18/8.17 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(isNat(X)) -> ACTIVE(isNat(X)) 26.18/8.17 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 26.18/8.17 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 26.18/8.17 MARK(U21(X)) -> ACTIVE(U21(mark(X))) 26.18/8.17 ACTIVE(U41(tt, M, N)) -> MARK(U42(isNat(N), M, N)) 26.18/8.17 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 26.18/8.17 ACTIVE(U42(tt, M, N)) -> MARK(s(plus(N, M))) 26.18/8.17 MARK(s(X)) -> ACTIVE(s(mark(X))) 26.18/8.17 ACTIVE(plus(N, 0)) -> MARK(U31(isNat(N), N)) 26.18/8.17 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 26.18/8.17 ACTIVE(plus(N, s(M))) -> MARK(U41(isNat(M), M, N)) 26.18/8.17 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 26.18/8.17 MARK(U41(X1, X2, X3)) -> MARK(X1) 26.18/8.17 MARK(U21(X)) -> MARK(X) 26.18/8.17 MARK(U31(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(U42(X1, X2, X3)) -> MARK(X1) 26.18/8.17 MARK(s(X)) -> MARK(X) 26.18/8.17 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 26.18/8.17 MARK(plus(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(plus(X1, X2)) -> MARK(X2) 26.18/8.17 26.18/8.17 The TRS R consists of the following rules: 26.18/8.17 26.18/8.17 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.17 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.17 active(U31(tt, N)) -> mark(N) 26.18/8.17 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.17 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.17 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.17 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.17 mark(s(X)) -> active(s(mark(X))) 26.18/8.17 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.17 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.17 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.17 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.17 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.17 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.17 mark(isNat(X)) -> active(isNat(X)) 26.18/8.17 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.17 mark(tt) -> active(tt) 26.18/8.17 mark(0) -> active(0) 26.18/8.17 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.17 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.17 U12(active(X)) -> U12(X) 26.18/8.17 U12(mark(X)) -> U12(X) 26.18/8.17 active(U12(tt)) -> mark(tt) 26.18/8.17 active(U21(tt)) -> mark(tt) 26.18/8.17 active(isNat(0)) -> mark(tt) 26.18/8.17 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.17 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.17 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.17 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.17 s(active(X)) -> s(X) 26.18/8.17 s(mark(X)) -> s(X) 26.18/8.17 U21(active(X)) -> U21(X) 26.18/8.17 U21(mark(X)) -> U21(X) 26.18/8.17 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.17 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.17 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.17 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.17 26.18/8.17 The set Q consists of the following terms: 26.18/8.17 26.18/8.17 active(U11(tt, x0)) 26.18/8.17 active(U12(tt)) 26.18/8.17 active(U21(tt)) 26.18/8.17 active(U31(tt, x0)) 26.18/8.17 active(U41(tt, x0, x1)) 26.18/8.17 active(U42(tt, x0, x1)) 26.18/8.17 active(isNat(0)) 26.18/8.17 active(isNat(plus(x0, x1))) 26.18/8.17 active(isNat(s(x0))) 26.18/8.17 active(plus(x0, 0)) 26.18/8.17 active(plus(x0, s(x1))) 26.18/8.17 mark(U11(x0, x1)) 26.18/8.17 mark(tt) 26.18/8.17 mark(U12(x0)) 26.18/8.17 mark(isNat(x0)) 26.18/8.17 mark(U21(x0)) 26.18/8.17 mark(U31(x0, x1)) 26.18/8.17 mark(U41(x0, x1, x2)) 26.18/8.17 mark(U42(x0, x1, x2)) 26.18/8.17 mark(s(x0)) 26.18/8.17 mark(plus(x0, x1)) 26.18/8.17 mark(0) 26.18/8.17 U11(mark(x0), x1) 26.18/8.17 U11(x0, mark(x1)) 26.18/8.17 U11(active(x0), x1) 26.18/8.17 U11(x0, active(x1)) 26.18/8.17 U12(mark(x0)) 26.18/8.17 U12(active(x0)) 26.18/8.17 isNat(mark(x0)) 26.18/8.17 isNat(active(x0)) 26.18/8.17 U21(mark(x0)) 26.18/8.17 U21(active(x0)) 26.18/8.17 U31(mark(x0), x1) 26.18/8.17 U31(x0, mark(x1)) 26.18/8.17 U31(active(x0), x1) 26.18/8.17 U31(x0, active(x1)) 26.18/8.17 U41(mark(x0), x1, x2) 26.18/8.17 U41(x0, mark(x1), x2) 26.18/8.17 U41(x0, x1, mark(x2)) 26.18/8.17 U41(active(x0), x1, x2) 26.18/8.17 U41(x0, active(x1), x2) 26.18/8.17 U41(x0, x1, active(x2)) 26.18/8.17 U42(mark(x0), x1, x2) 26.18/8.17 U42(x0, mark(x1), x2) 26.18/8.17 U42(x0, x1, mark(x2)) 26.18/8.17 U42(active(x0), x1, x2) 26.18/8.17 U42(x0, active(x1), x2) 26.18/8.17 U42(x0, x1, active(x2)) 26.18/8.17 s(mark(x0)) 26.18/8.17 s(active(x0)) 26.18/8.17 plus(mark(x0), x1) 26.18/8.17 plus(x0, mark(x1)) 26.18/8.17 plus(active(x0), x1) 26.18/8.17 plus(x0, active(x1)) 26.18/8.17 26.18/8.17 We have to consider all minimal (P,Q,R)-chains. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (71) QDPOrderProof (EQUIVALENT) 26.18/8.17 We use the reduction pair processor [LPAR04,JAR06]. 26.18/8.17 26.18/8.17 26.18/8.17 The following pairs can be oriented strictly and are deleted. 26.18/8.17 26.18/8.17 MARK(U12(X)) -> ACTIVE(U12(mark(X))) 26.18/8.17 MARK(U21(X)) -> ACTIVE(U21(mark(X))) 26.18/8.17 MARK(s(X)) -> ACTIVE(s(mark(X))) 26.18/8.17 The remaining pairs can at least be oriented weakly. 26.18/8.17 Used ordering: Polynomial interpretation [POLO]: 26.18/8.17 26.18/8.17 POL(0) = 0 26.18/8.17 POL(ACTIVE(x_1)) = x_1 26.18/8.17 POL(MARK(x_1)) = 1 26.18/8.17 POL(U11(x_1, x_2)) = 1 26.18/8.17 POL(U12(x_1)) = 0 26.18/8.17 POL(U21(x_1)) = 0 26.18/8.17 POL(U31(x_1, x_2)) = 1 26.18/8.17 POL(U41(x_1, x_2, x_3)) = 1 26.18/8.17 POL(U42(x_1, x_2, x_3)) = 1 26.18/8.17 POL(active(x_1)) = 0 26.18/8.17 POL(isNat(x_1)) = 1 26.18/8.17 POL(mark(x_1)) = 0 26.18/8.17 POL(plus(x_1, x_2)) = 1 26.18/8.17 POL(s(x_1)) = 0 26.18/8.17 POL(tt) = 0 26.18/8.17 26.18/8.17 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 26.18/8.17 26.18/8.17 U12(active(X)) -> U12(X) 26.18/8.17 U12(mark(X)) -> U12(X) 26.18/8.17 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.17 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.17 U21(active(X)) -> U21(X) 26.18/8.17 U21(mark(X)) -> U21(X) 26.18/8.17 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.17 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.17 s(active(X)) -> s(X) 26.18/8.17 s(mark(X)) -> s(X) 26.18/8.17 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.17 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.17 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.17 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.17 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.17 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.17 26.18/8.17 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (72) 26.18/8.17 Obligation: 26.18/8.17 Q DP problem: 26.18/8.17 The TRS P consists of the following rules: 26.18/8.17 26.18/8.17 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 26.18/8.17 MARK(U12(X)) -> MARK(X) 26.18/8.17 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 26.18/8.17 ACTIVE(U31(tt, N)) -> MARK(N) 26.18/8.17 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(isNat(X)) -> ACTIVE(isNat(X)) 26.18/8.17 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 26.18/8.17 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 26.18/8.17 ACTIVE(U41(tt, M, N)) -> MARK(U42(isNat(N), M, N)) 26.18/8.17 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 26.18/8.17 ACTIVE(U42(tt, M, N)) -> MARK(s(plus(N, M))) 26.18/8.17 ACTIVE(plus(N, 0)) -> MARK(U31(isNat(N), N)) 26.18/8.17 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 26.18/8.17 ACTIVE(plus(N, s(M))) -> MARK(U41(isNat(M), M, N)) 26.18/8.17 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 26.18/8.17 MARK(U41(X1, X2, X3)) -> MARK(X1) 26.18/8.17 MARK(U21(X)) -> MARK(X) 26.18/8.17 MARK(U31(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(U42(X1, X2, X3)) -> MARK(X1) 26.18/8.17 MARK(s(X)) -> MARK(X) 26.18/8.17 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 26.18/8.17 MARK(plus(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(plus(X1, X2)) -> MARK(X2) 26.18/8.17 26.18/8.17 The TRS R consists of the following rules: 26.18/8.17 26.18/8.17 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.17 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.17 active(U31(tt, N)) -> mark(N) 26.18/8.17 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.17 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.17 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.17 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.17 mark(s(X)) -> active(s(mark(X))) 26.18/8.17 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.17 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.17 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.17 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.17 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.17 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.17 mark(isNat(X)) -> active(isNat(X)) 26.18/8.17 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.17 mark(tt) -> active(tt) 26.18/8.17 mark(0) -> active(0) 26.18/8.17 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.17 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.17 U12(active(X)) -> U12(X) 26.18/8.17 U12(mark(X)) -> U12(X) 26.18/8.17 active(U12(tt)) -> mark(tt) 26.18/8.17 active(U21(tt)) -> mark(tt) 26.18/8.17 active(isNat(0)) -> mark(tt) 26.18/8.17 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.17 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.17 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.17 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.17 s(active(X)) -> s(X) 26.18/8.17 s(mark(X)) -> s(X) 26.18/8.17 U21(active(X)) -> U21(X) 26.18/8.17 U21(mark(X)) -> U21(X) 26.18/8.17 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.17 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.17 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.17 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.17 26.18/8.17 The set Q consists of the following terms: 26.18/8.17 26.18/8.17 active(U11(tt, x0)) 26.18/8.17 active(U12(tt)) 26.18/8.17 active(U21(tt)) 26.18/8.17 active(U31(tt, x0)) 26.18/8.17 active(U41(tt, x0, x1)) 26.18/8.17 active(U42(tt, x0, x1)) 26.18/8.17 active(isNat(0)) 26.18/8.17 active(isNat(plus(x0, x1))) 26.18/8.17 active(isNat(s(x0))) 26.18/8.17 active(plus(x0, 0)) 26.18/8.17 active(plus(x0, s(x1))) 26.18/8.17 mark(U11(x0, x1)) 26.18/8.17 mark(tt) 26.18/8.17 mark(U12(x0)) 26.18/8.17 mark(isNat(x0)) 26.18/8.17 mark(U21(x0)) 26.18/8.17 mark(U31(x0, x1)) 26.18/8.17 mark(U41(x0, x1, x2)) 26.18/8.17 mark(U42(x0, x1, x2)) 26.18/8.17 mark(s(x0)) 26.18/8.17 mark(plus(x0, x1)) 26.18/8.17 mark(0) 26.18/8.17 U11(mark(x0), x1) 26.18/8.17 U11(x0, mark(x1)) 26.18/8.17 U11(active(x0), x1) 26.18/8.17 U11(x0, active(x1)) 26.18/8.17 U12(mark(x0)) 26.18/8.17 U12(active(x0)) 26.18/8.17 isNat(mark(x0)) 26.18/8.17 isNat(active(x0)) 26.18/8.17 U21(mark(x0)) 26.18/8.17 U21(active(x0)) 26.18/8.17 U31(mark(x0), x1) 26.18/8.17 U31(x0, mark(x1)) 26.18/8.17 U31(active(x0), x1) 26.18/8.17 U31(x0, active(x1)) 26.18/8.17 U41(mark(x0), x1, x2) 26.18/8.17 U41(x0, mark(x1), x2) 26.18/8.17 U41(x0, x1, mark(x2)) 26.18/8.17 U41(active(x0), x1, x2) 26.18/8.17 U41(x0, active(x1), x2) 26.18/8.17 U41(x0, x1, active(x2)) 26.18/8.17 U42(mark(x0), x1, x2) 26.18/8.17 U42(x0, mark(x1), x2) 26.18/8.17 U42(x0, x1, mark(x2)) 26.18/8.17 U42(active(x0), x1, x2) 26.18/8.17 U42(x0, active(x1), x2) 26.18/8.17 U42(x0, x1, active(x2)) 26.18/8.17 s(mark(x0)) 26.18/8.17 s(active(x0)) 26.18/8.17 plus(mark(x0), x1) 26.18/8.17 plus(x0, mark(x1)) 26.18/8.17 plus(active(x0), x1) 26.18/8.17 plus(x0, active(x1)) 26.18/8.17 26.18/8.17 We have to consider all minimal (P,Q,R)-chains. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (73) QDPOrderProof (EQUIVALENT) 26.18/8.17 We use the reduction pair processor [LPAR04,JAR06]. 26.18/8.17 26.18/8.17 26.18/8.17 The following pairs can be oriented strictly and are deleted. 26.18/8.17 26.18/8.17 ACTIVE(plus(N, 0)) -> MARK(U31(isNat(N), N)) 26.18/8.17 The remaining pairs can at least be oriented weakly. 26.18/8.17 Used ordering: Polynomial interpretation [POLO]: 26.18/8.17 26.18/8.17 POL(0) = 1 26.18/8.17 POL(ACTIVE(x_1)) = x_1 26.18/8.17 POL(MARK(x_1)) = x_1 26.18/8.17 POL(U11(x_1, x_2)) = x_1 26.18/8.17 POL(U12(x_1)) = x_1 26.18/8.17 POL(U21(x_1)) = x_1 26.18/8.17 POL(U31(x_1, x_2)) = x_1 + x_2 26.18/8.17 POL(U41(x_1, x_2, x_3)) = x_1 + x_2 + x_3 26.18/8.17 POL(U42(x_1, x_2, x_3)) = x_1 + x_2 + x_3 26.18/8.17 POL(active(x_1)) = x_1 26.18/8.17 POL(isNat(x_1)) = 0 26.18/8.17 POL(mark(x_1)) = x_1 26.18/8.17 POL(plus(x_1, x_2)) = x_1 + x_2 26.18/8.17 POL(s(x_1)) = x_1 26.18/8.17 POL(tt) = 0 26.18/8.17 26.18/8.17 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 26.18/8.17 26.18/8.17 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.17 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.17 active(U31(tt, N)) -> mark(N) 26.18/8.17 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.17 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.17 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.17 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.17 mark(s(X)) -> active(s(mark(X))) 26.18/8.17 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.17 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.17 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.17 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.17 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.17 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.17 mark(isNat(X)) -> active(isNat(X)) 26.18/8.17 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.17 mark(tt) -> active(tt) 26.18/8.17 mark(0) -> active(0) 26.18/8.17 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.17 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.17 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.17 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.17 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.17 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.17 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.17 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.17 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.17 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.17 U12(active(X)) -> U12(X) 26.18/8.17 U12(mark(X)) -> U12(X) 26.18/8.17 active(U12(tt)) -> mark(tt) 26.18/8.17 active(U21(tt)) -> mark(tt) 26.18/8.17 active(isNat(0)) -> mark(tt) 26.18/8.17 s(active(X)) -> s(X) 26.18/8.17 s(mark(X)) -> s(X) 26.18/8.17 U21(active(X)) -> U21(X) 26.18/8.17 U21(mark(X)) -> U21(X) 26.18/8.17 26.18/8.17 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (74) 26.18/8.17 Obligation: 26.18/8.17 Q DP problem: 26.18/8.17 The TRS P consists of the following rules: 26.18/8.17 26.18/8.17 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 26.18/8.17 MARK(U12(X)) -> MARK(X) 26.18/8.17 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 26.18/8.17 ACTIVE(U31(tt, N)) -> MARK(N) 26.18/8.17 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(isNat(X)) -> ACTIVE(isNat(X)) 26.18/8.17 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 26.18/8.17 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 26.18/8.17 ACTIVE(U41(tt, M, N)) -> MARK(U42(isNat(N), M, N)) 26.18/8.17 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 26.18/8.17 ACTIVE(U42(tt, M, N)) -> MARK(s(plus(N, M))) 26.18/8.17 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 26.18/8.17 ACTIVE(plus(N, s(M))) -> MARK(U41(isNat(M), M, N)) 26.18/8.17 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 26.18/8.17 MARK(U41(X1, X2, X3)) -> MARK(X1) 26.18/8.17 MARK(U21(X)) -> MARK(X) 26.18/8.17 MARK(U31(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(U42(X1, X2, X3)) -> MARK(X1) 26.18/8.17 MARK(s(X)) -> MARK(X) 26.18/8.17 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 26.18/8.17 MARK(plus(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(plus(X1, X2)) -> MARK(X2) 26.18/8.17 26.18/8.17 The TRS R consists of the following rules: 26.18/8.17 26.18/8.17 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.17 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.17 active(U31(tt, N)) -> mark(N) 26.18/8.17 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.17 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.17 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.17 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.17 mark(s(X)) -> active(s(mark(X))) 26.18/8.17 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.17 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.17 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.17 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.17 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.17 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.17 mark(isNat(X)) -> active(isNat(X)) 26.18/8.17 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.17 mark(tt) -> active(tt) 26.18/8.17 mark(0) -> active(0) 26.18/8.17 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.17 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.17 U12(active(X)) -> U12(X) 26.18/8.17 U12(mark(X)) -> U12(X) 26.18/8.17 active(U12(tt)) -> mark(tt) 26.18/8.17 active(U21(tt)) -> mark(tt) 26.18/8.17 active(isNat(0)) -> mark(tt) 26.18/8.17 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.17 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.17 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.17 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.17 s(active(X)) -> s(X) 26.18/8.17 s(mark(X)) -> s(X) 26.18/8.17 U21(active(X)) -> U21(X) 26.18/8.17 U21(mark(X)) -> U21(X) 26.18/8.17 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.17 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.17 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.17 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.17 26.18/8.17 The set Q consists of the following terms: 26.18/8.17 26.18/8.17 active(U11(tt, x0)) 26.18/8.17 active(U12(tt)) 26.18/8.17 active(U21(tt)) 26.18/8.17 active(U31(tt, x0)) 26.18/8.17 active(U41(tt, x0, x1)) 26.18/8.17 active(U42(tt, x0, x1)) 26.18/8.17 active(isNat(0)) 26.18/8.17 active(isNat(plus(x0, x1))) 26.18/8.17 active(isNat(s(x0))) 26.18/8.17 active(plus(x0, 0)) 26.18/8.17 active(plus(x0, s(x1))) 26.18/8.17 mark(U11(x0, x1)) 26.18/8.17 mark(tt) 26.18/8.17 mark(U12(x0)) 26.18/8.17 mark(isNat(x0)) 26.18/8.17 mark(U21(x0)) 26.18/8.17 mark(U31(x0, x1)) 26.18/8.17 mark(U41(x0, x1, x2)) 26.18/8.17 mark(U42(x0, x1, x2)) 26.18/8.17 mark(s(x0)) 26.18/8.17 mark(plus(x0, x1)) 26.18/8.17 mark(0) 26.18/8.17 U11(mark(x0), x1) 26.18/8.17 U11(x0, mark(x1)) 26.18/8.17 U11(active(x0), x1) 26.18/8.17 U11(x0, active(x1)) 26.18/8.17 U12(mark(x0)) 26.18/8.17 U12(active(x0)) 26.18/8.17 isNat(mark(x0)) 26.18/8.17 isNat(active(x0)) 26.18/8.17 U21(mark(x0)) 26.18/8.17 U21(active(x0)) 26.18/8.17 U31(mark(x0), x1) 26.18/8.17 U31(x0, mark(x1)) 26.18/8.17 U31(active(x0), x1) 26.18/8.17 U31(x0, active(x1)) 26.18/8.17 U41(mark(x0), x1, x2) 26.18/8.17 U41(x0, mark(x1), x2) 26.18/8.17 U41(x0, x1, mark(x2)) 26.18/8.17 U41(active(x0), x1, x2) 26.18/8.17 U41(x0, active(x1), x2) 26.18/8.17 U41(x0, x1, active(x2)) 26.18/8.17 U42(mark(x0), x1, x2) 26.18/8.17 U42(x0, mark(x1), x2) 26.18/8.17 U42(x0, x1, mark(x2)) 26.18/8.17 U42(active(x0), x1, x2) 26.18/8.17 U42(x0, active(x1), x2) 26.18/8.17 U42(x0, x1, active(x2)) 26.18/8.17 s(mark(x0)) 26.18/8.17 s(active(x0)) 26.18/8.17 plus(mark(x0), x1) 26.18/8.17 plus(x0, mark(x1)) 26.18/8.17 plus(active(x0), x1) 26.18/8.17 plus(x0, active(x1)) 26.18/8.17 26.18/8.17 We have to consider all minimal (P,Q,R)-chains. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (75) QDPOrderProof (EQUIVALENT) 26.18/8.17 We use the reduction pair processor [LPAR04,JAR06]. 26.18/8.17 26.18/8.17 26.18/8.17 The following pairs can be oriented strictly and are deleted. 26.18/8.17 26.18/8.17 ACTIVE(U31(tt, N)) -> MARK(N) 26.18/8.17 MARK(U31(X1, X2)) -> MARK(X1) 26.18/8.17 The remaining pairs can at least be oriented weakly. 26.18/8.17 Used ordering: Polynomial interpretation [POLO]: 26.18/8.17 26.18/8.17 POL(0) = 1 26.18/8.17 POL(ACTIVE(x_1)) = x_1 26.18/8.17 POL(MARK(x_1)) = x_1 26.18/8.17 POL(U11(x_1, x_2)) = x_1 26.18/8.17 POL(U12(x_1)) = x_1 26.18/8.17 POL(U21(x_1)) = x_1 26.18/8.17 POL(U31(x_1, x_2)) = 1 + x_1 + x_2 26.18/8.17 POL(U41(x_1, x_2, x_3)) = x_1 + x_2 + x_3 26.18/8.17 POL(U42(x_1, x_2, x_3)) = x_1 + x_2 + x_3 26.18/8.17 POL(active(x_1)) = x_1 26.18/8.17 POL(isNat(x_1)) = 0 26.18/8.17 POL(mark(x_1)) = x_1 26.18/8.17 POL(plus(x_1, x_2)) = x_1 + x_2 26.18/8.17 POL(s(x_1)) = x_1 26.18/8.17 POL(tt) = 0 26.18/8.17 26.18/8.17 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 26.18/8.17 26.18/8.17 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.17 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.17 active(U31(tt, N)) -> mark(N) 26.18/8.17 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.17 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.17 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.17 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.17 mark(s(X)) -> active(s(mark(X))) 26.18/8.17 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.17 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.17 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.17 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.17 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.17 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.17 mark(isNat(X)) -> active(isNat(X)) 26.18/8.17 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.17 mark(tt) -> active(tt) 26.18/8.17 mark(0) -> active(0) 26.18/8.17 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.17 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.17 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.17 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.17 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.17 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.17 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.17 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.17 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.17 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.17 U12(active(X)) -> U12(X) 26.18/8.17 U12(mark(X)) -> U12(X) 26.18/8.17 active(U12(tt)) -> mark(tt) 26.18/8.17 active(U21(tt)) -> mark(tt) 26.18/8.17 active(isNat(0)) -> mark(tt) 26.18/8.17 s(active(X)) -> s(X) 26.18/8.17 s(mark(X)) -> s(X) 26.18/8.17 U21(active(X)) -> U21(X) 26.18/8.17 U21(mark(X)) -> U21(X) 26.18/8.17 26.18/8.17 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (76) 26.18/8.17 Obligation: 26.18/8.17 Q DP problem: 26.18/8.17 The TRS P consists of the following rules: 26.18/8.17 26.18/8.17 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 26.18/8.17 MARK(U12(X)) -> MARK(X) 26.18/8.17 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 26.18/8.17 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(isNat(X)) -> ACTIVE(isNat(X)) 26.18/8.17 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 26.18/8.17 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 26.18/8.17 ACTIVE(U41(tt, M, N)) -> MARK(U42(isNat(N), M, N)) 26.18/8.17 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 26.18/8.17 ACTIVE(U42(tt, M, N)) -> MARK(s(plus(N, M))) 26.18/8.17 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 26.18/8.17 ACTIVE(plus(N, s(M))) -> MARK(U41(isNat(M), M, N)) 26.18/8.17 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 26.18/8.17 MARK(U41(X1, X2, X3)) -> MARK(X1) 26.18/8.17 MARK(U21(X)) -> MARK(X) 26.18/8.17 MARK(U42(X1, X2, X3)) -> MARK(X1) 26.18/8.17 MARK(s(X)) -> MARK(X) 26.18/8.17 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 26.18/8.17 MARK(plus(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(plus(X1, X2)) -> MARK(X2) 26.18/8.17 26.18/8.17 The TRS R consists of the following rules: 26.18/8.17 26.18/8.17 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.17 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.17 active(U31(tt, N)) -> mark(N) 26.18/8.17 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.17 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.17 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.17 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.17 mark(s(X)) -> active(s(mark(X))) 26.18/8.17 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.17 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.17 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.17 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.17 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.17 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.17 mark(isNat(X)) -> active(isNat(X)) 26.18/8.17 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.17 mark(tt) -> active(tt) 26.18/8.17 mark(0) -> active(0) 26.18/8.17 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.17 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.17 U12(active(X)) -> U12(X) 26.18/8.17 U12(mark(X)) -> U12(X) 26.18/8.17 active(U12(tt)) -> mark(tt) 26.18/8.17 active(U21(tt)) -> mark(tt) 26.18/8.17 active(isNat(0)) -> mark(tt) 26.18/8.17 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.17 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.17 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.17 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.17 s(active(X)) -> s(X) 26.18/8.17 s(mark(X)) -> s(X) 26.18/8.17 U21(active(X)) -> U21(X) 26.18/8.17 U21(mark(X)) -> U21(X) 26.18/8.17 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.17 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.17 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.17 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.17 26.18/8.17 The set Q consists of the following terms: 26.18/8.17 26.18/8.17 active(U11(tt, x0)) 26.18/8.17 active(U12(tt)) 26.18/8.17 active(U21(tt)) 26.18/8.17 active(U31(tt, x0)) 26.18/8.17 active(U41(tt, x0, x1)) 26.18/8.17 active(U42(tt, x0, x1)) 26.18/8.17 active(isNat(0)) 26.18/8.17 active(isNat(plus(x0, x1))) 26.18/8.17 active(isNat(s(x0))) 26.18/8.17 active(plus(x0, 0)) 26.18/8.17 active(plus(x0, s(x1))) 26.18/8.17 mark(U11(x0, x1)) 26.18/8.17 mark(tt) 26.18/8.17 mark(U12(x0)) 26.18/8.17 mark(isNat(x0)) 26.18/8.17 mark(U21(x0)) 26.18/8.17 mark(U31(x0, x1)) 26.18/8.17 mark(U41(x0, x1, x2)) 26.18/8.17 mark(U42(x0, x1, x2)) 26.18/8.17 mark(s(x0)) 26.18/8.17 mark(plus(x0, x1)) 26.18/8.17 mark(0) 26.18/8.17 U11(mark(x0), x1) 26.18/8.17 U11(x0, mark(x1)) 26.18/8.17 U11(active(x0), x1) 26.18/8.17 U11(x0, active(x1)) 26.18/8.17 U12(mark(x0)) 26.18/8.17 U12(active(x0)) 26.18/8.17 isNat(mark(x0)) 26.18/8.17 isNat(active(x0)) 26.18/8.17 U21(mark(x0)) 26.18/8.17 U21(active(x0)) 26.18/8.17 U31(mark(x0), x1) 26.18/8.17 U31(x0, mark(x1)) 26.18/8.17 U31(active(x0), x1) 26.18/8.17 U31(x0, active(x1)) 26.18/8.17 U41(mark(x0), x1, x2) 26.18/8.17 U41(x0, mark(x1), x2) 26.18/8.17 U41(x0, x1, mark(x2)) 26.18/8.17 U41(active(x0), x1, x2) 26.18/8.17 U41(x0, active(x1), x2) 26.18/8.17 U41(x0, x1, active(x2)) 26.18/8.17 U42(mark(x0), x1, x2) 26.18/8.17 U42(x0, mark(x1), x2) 26.18/8.17 U42(x0, x1, mark(x2)) 26.18/8.17 U42(active(x0), x1, x2) 26.18/8.17 U42(x0, active(x1), x2) 26.18/8.17 U42(x0, x1, active(x2)) 26.18/8.17 s(mark(x0)) 26.18/8.17 s(active(x0)) 26.18/8.17 plus(mark(x0), x1) 26.18/8.17 plus(x0, mark(x1)) 26.18/8.17 plus(active(x0), x1) 26.18/8.17 plus(x0, active(x1)) 26.18/8.17 26.18/8.17 We have to consider all minimal (P,Q,R)-chains. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (77) QDPOrderProof (EQUIVALENT) 26.18/8.17 We use the reduction pair processor [LPAR04,JAR06]. 26.18/8.17 26.18/8.17 26.18/8.17 The following pairs can be oriented strictly and are deleted. 26.18/8.17 26.18/8.17 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 26.18/8.17 The remaining pairs can at least be oriented weakly. 26.18/8.17 Used ordering: Polynomial interpretation [POLO]: 26.18/8.17 26.18/8.17 POL(0) = 0 26.18/8.17 POL(ACTIVE(x_1)) = x_1 26.18/8.17 POL(MARK(x_1)) = 1 26.18/8.17 POL(U11(x_1, x_2)) = 1 26.18/8.17 POL(U12(x_1)) = 0 26.18/8.17 POL(U21(x_1)) = 0 26.18/8.17 POL(U31(x_1, x_2)) = 0 26.18/8.17 POL(U41(x_1, x_2, x_3)) = 1 26.18/8.17 POL(U42(x_1, x_2, x_3)) = 1 26.18/8.17 POL(active(x_1)) = 0 26.18/8.17 POL(isNat(x_1)) = 1 26.18/8.17 POL(mark(x_1)) = 0 26.18/8.17 POL(plus(x_1, x_2)) = 1 26.18/8.17 POL(s(x_1)) = 0 26.18/8.17 POL(tt) = 0 26.18/8.17 26.18/8.17 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 26.18/8.17 26.18/8.17 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.17 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.17 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.17 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.17 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.17 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.17 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.17 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.17 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.17 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.17 26.18/8.17 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (78) 26.18/8.17 Obligation: 26.18/8.17 Q DP problem: 26.18/8.17 The TRS P consists of the following rules: 26.18/8.17 26.18/8.17 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 26.18/8.17 MARK(U12(X)) -> MARK(X) 26.18/8.17 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 26.18/8.17 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(isNat(X)) -> ACTIVE(isNat(X)) 26.18/8.17 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 26.18/8.17 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 26.18/8.17 ACTIVE(U41(tt, M, N)) -> MARK(U42(isNat(N), M, N)) 26.18/8.17 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 26.18/8.17 ACTIVE(U42(tt, M, N)) -> MARK(s(plus(N, M))) 26.18/8.17 ACTIVE(plus(N, s(M))) -> MARK(U41(isNat(M), M, N)) 26.18/8.17 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 26.18/8.17 MARK(U41(X1, X2, X3)) -> MARK(X1) 26.18/8.17 MARK(U21(X)) -> MARK(X) 26.18/8.17 MARK(U42(X1, X2, X3)) -> MARK(X1) 26.18/8.17 MARK(s(X)) -> MARK(X) 26.18/8.17 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 26.18/8.17 MARK(plus(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(plus(X1, X2)) -> MARK(X2) 26.18/8.17 26.18/8.17 The TRS R consists of the following rules: 26.18/8.17 26.18/8.17 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.17 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.17 active(U31(tt, N)) -> mark(N) 26.18/8.17 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.17 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.17 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.17 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.17 mark(s(X)) -> active(s(mark(X))) 26.18/8.17 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.17 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.17 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.17 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.17 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.17 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.17 mark(isNat(X)) -> active(isNat(X)) 26.18/8.17 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.17 mark(tt) -> active(tt) 26.18/8.17 mark(0) -> active(0) 26.18/8.17 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.17 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.17 U12(active(X)) -> U12(X) 26.18/8.17 U12(mark(X)) -> U12(X) 26.18/8.17 active(U12(tt)) -> mark(tt) 26.18/8.17 active(U21(tt)) -> mark(tt) 26.18/8.17 active(isNat(0)) -> mark(tt) 26.18/8.17 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.17 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.17 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.17 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.17 s(active(X)) -> s(X) 26.18/8.17 s(mark(X)) -> s(X) 26.18/8.17 U21(active(X)) -> U21(X) 26.18/8.17 U21(mark(X)) -> U21(X) 26.18/8.17 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.17 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.17 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.17 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.17 26.18/8.17 The set Q consists of the following terms: 26.18/8.17 26.18/8.17 active(U11(tt, x0)) 26.18/8.17 active(U12(tt)) 26.18/8.17 active(U21(tt)) 26.18/8.17 active(U31(tt, x0)) 26.18/8.17 active(U41(tt, x0, x1)) 26.18/8.17 active(U42(tt, x0, x1)) 26.18/8.17 active(isNat(0)) 26.18/8.17 active(isNat(plus(x0, x1))) 26.18/8.17 active(isNat(s(x0))) 26.18/8.17 active(plus(x0, 0)) 26.18/8.17 active(plus(x0, s(x1))) 26.18/8.17 mark(U11(x0, x1)) 26.18/8.17 mark(tt) 26.18/8.17 mark(U12(x0)) 26.18/8.17 mark(isNat(x0)) 26.18/8.17 mark(U21(x0)) 26.18/8.17 mark(U31(x0, x1)) 26.18/8.17 mark(U41(x0, x1, x2)) 26.18/8.17 mark(U42(x0, x1, x2)) 26.18/8.17 mark(s(x0)) 26.18/8.17 mark(plus(x0, x1)) 26.18/8.17 mark(0) 26.18/8.17 U11(mark(x0), x1) 26.18/8.17 U11(x0, mark(x1)) 26.18/8.17 U11(active(x0), x1) 26.18/8.17 U11(x0, active(x1)) 26.18/8.17 U12(mark(x0)) 26.18/8.17 U12(active(x0)) 26.18/8.17 isNat(mark(x0)) 26.18/8.17 isNat(active(x0)) 26.18/8.17 U21(mark(x0)) 26.18/8.17 U21(active(x0)) 26.18/8.17 U31(mark(x0), x1) 26.18/8.17 U31(x0, mark(x1)) 26.18/8.17 U31(active(x0), x1) 26.18/8.17 U31(x0, active(x1)) 26.18/8.17 U41(mark(x0), x1, x2) 26.18/8.17 U41(x0, mark(x1), x2) 26.18/8.17 U41(x0, x1, mark(x2)) 26.18/8.17 U41(active(x0), x1, x2) 26.18/8.17 U41(x0, active(x1), x2) 26.18/8.17 U41(x0, x1, active(x2)) 26.18/8.17 U42(mark(x0), x1, x2) 26.18/8.17 U42(x0, mark(x1), x2) 26.18/8.17 U42(x0, x1, mark(x2)) 26.18/8.17 U42(active(x0), x1, x2) 26.18/8.17 U42(x0, active(x1), x2) 26.18/8.17 U42(x0, x1, active(x2)) 26.18/8.17 s(mark(x0)) 26.18/8.17 s(active(x0)) 26.18/8.17 plus(mark(x0), x1) 26.18/8.17 plus(x0, mark(x1)) 26.18/8.17 plus(active(x0), x1) 26.18/8.17 plus(x0, active(x1)) 26.18/8.17 26.18/8.17 We have to consider all minimal (P,Q,R)-chains. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (79) QDPOrderProof (EQUIVALENT) 26.18/8.17 We use the reduction pair processor [LPAR04,JAR06]. 26.18/8.17 26.18/8.17 26.18/8.17 The following pairs can be oriented strictly and are deleted. 26.18/8.17 26.18/8.17 MARK(U41(X1, X2, X3)) -> MARK(X1) 26.18/8.17 MARK(U42(X1, X2, X3)) -> MARK(X1) 26.18/8.17 MARK(s(X)) -> MARK(X) 26.18/8.17 MARK(plus(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(plus(X1, X2)) -> MARK(X2) 26.18/8.17 The remaining pairs can at least be oriented weakly. 26.18/8.17 Used ordering: Polynomial interpretation [POLO]: 26.18/8.17 26.18/8.17 POL(0) = 0 26.18/8.17 POL(ACTIVE(x_1)) = x_1 26.18/8.17 POL(MARK(x_1)) = x_1 26.18/8.17 POL(U11(x_1, x_2)) = x_1 26.18/8.17 POL(U12(x_1)) = x_1 26.18/8.17 POL(U21(x_1)) = x_1 26.18/8.17 POL(U31(x_1, x_2)) = x_2 26.18/8.17 POL(U41(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 26.18/8.17 POL(U42(x_1, x_2, x_3)) = 1 + x_1 + x_2 + x_3 26.18/8.17 POL(active(x_1)) = x_1 26.18/8.17 POL(isNat(x_1)) = 1 26.18/8.17 POL(mark(x_1)) = x_1 26.18/8.17 POL(plus(x_1, x_2)) = 1 + x_1 + x_2 26.18/8.17 POL(s(x_1)) = 1 + x_1 26.18/8.17 POL(tt) = 1 26.18/8.17 26.18/8.17 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 26.18/8.17 26.18/8.17 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.17 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.17 active(U31(tt, N)) -> mark(N) 26.18/8.17 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.17 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.17 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.17 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.17 mark(s(X)) -> active(s(mark(X))) 26.18/8.17 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.17 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.17 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.17 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.17 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.17 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.17 mark(isNat(X)) -> active(isNat(X)) 26.18/8.17 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.17 mark(tt) -> active(tt) 26.18/8.17 mark(0) -> active(0) 26.18/8.17 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.17 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.17 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.17 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.17 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.17 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.17 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.17 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.17 U12(active(X)) -> U12(X) 26.18/8.17 U12(mark(X)) -> U12(X) 26.18/8.17 active(U12(tt)) -> mark(tt) 26.18/8.17 active(U21(tt)) -> mark(tt) 26.18/8.17 active(isNat(0)) -> mark(tt) 26.18/8.17 s(active(X)) -> s(X) 26.18/8.17 s(mark(X)) -> s(X) 26.18/8.17 U21(active(X)) -> U21(X) 26.18/8.17 U21(mark(X)) -> U21(X) 26.18/8.17 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.17 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.17 26.18/8.17 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (80) 26.18/8.17 Obligation: 26.18/8.17 Q DP problem: 26.18/8.17 The TRS P consists of the following rules: 26.18/8.17 26.18/8.17 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 26.18/8.17 MARK(U12(X)) -> MARK(X) 26.18/8.17 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 26.18/8.17 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(isNat(X)) -> ACTIVE(isNat(X)) 26.18/8.17 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 26.18/8.17 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 26.18/8.17 ACTIVE(U41(tt, M, N)) -> MARK(U42(isNat(N), M, N)) 26.18/8.17 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 26.18/8.17 ACTIVE(U42(tt, M, N)) -> MARK(s(plus(N, M))) 26.18/8.17 ACTIVE(plus(N, s(M))) -> MARK(U41(isNat(M), M, N)) 26.18/8.17 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 26.18/8.17 MARK(U21(X)) -> MARK(X) 26.18/8.17 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 26.18/8.17 26.18/8.17 The TRS R consists of the following rules: 26.18/8.17 26.18/8.17 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.17 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.17 active(U31(tt, N)) -> mark(N) 26.18/8.17 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.17 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.17 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.17 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.17 mark(s(X)) -> active(s(mark(X))) 26.18/8.17 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.17 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.17 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.17 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.17 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.17 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.17 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.17 mark(isNat(X)) -> active(isNat(X)) 26.18/8.17 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.17 mark(tt) -> active(tt) 26.18/8.17 mark(0) -> active(0) 26.18/8.17 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.17 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.17 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.17 U12(active(X)) -> U12(X) 26.18/8.17 U12(mark(X)) -> U12(X) 26.18/8.17 active(U12(tt)) -> mark(tt) 26.18/8.17 active(U21(tt)) -> mark(tt) 26.18/8.17 active(isNat(0)) -> mark(tt) 26.18/8.17 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.17 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.17 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.17 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.17 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.17 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.17 s(active(X)) -> s(X) 26.18/8.17 s(mark(X)) -> s(X) 26.18/8.17 U21(active(X)) -> U21(X) 26.18/8.17 U21(mark(X)) -> U21(X) 26.18/8.17 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.17 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.17 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.17 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.17 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.17 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.17 26.18/8.17 The set Q consists of the following terms: 26.18/8.17 26.18/8.17 active(U11(tt, x0)) 26.18/8.17 active(U12(tt)) 26.18/8.17 active(U21(tt)) 26.18/8.17 active(U31(tt, x0)) 26.18/8.17 active(U41(tt, x0, x1)) 26.18/8.17 active(U42(tt, x0, x1)) 26.18/8.17 active(isNat(0)) 26.18/8.17 active(isNat(plus(x0, x1))) 26.18/8.17 active(isNat(s(x0))) 26.18/8.17 active(plus(x0, 0)) 26.18/8.17 active(plus(x0, s(x1))) 26.18/8.17 mark(U11(x0, x1)) 26.18/8.17 mark(tt) 26.18/8.17 mark(U12(x0)) 26.18/8.17 mark(isNat(x0)) 26.18/8.17 mark(U21(x0)) 26.18/8.17 mark(U31(x0, x1)) 26.18/8.17 mark(U41(x0, x1, x2)) 26.18/8.17 mark(U42(x0, x1, x2)) 26.18/8.17 mark(s(x0)) 26.18/8.17 mark(plus(x0, x1)) 26.18/8.17 mark(0) 26.18/8.17 U11(mark(x0), x1) 26.18/8.17 U11(x0, mark(x1)) 26.18/8.17 U11(active(x0), x1) 26.18/8.17 U11(x0, active(x1)) 26.18/8.17 U12(mark(x0)) 26.18/8.17 U12(active(x0)) 26.18/8.17 isNat(mark(x0)) 26.18/8.17 isNat(active(x0)) 26.18/8.17 U21(mark(x0)) 26.18/8.17 U21(active(x0)) 26.18/8.17 U31(mark(x0), x1) 26.18/8.17 U31(x0, mark(x1)) 26.18/8.17 U31(active(x0), x1) 26.18/8.17 U31(x0, active(x1)) 26.18/8.17 U41(mark(x0), x1, x2) 26.18/8.17 U41(x0, mark(x1), x2) 26.18/8.17 U41(x0, x1, mark(x2)) 26.18/8.17 U41(active(x0), x1, x2) 26.18/8.17 U41(x0, active(x1), x2) 26.18/8.17 U41(x0, x1, active(x2)) 26.18/8.17 U42(mark(x0), x1, x2) 26.18/8.17 U42(x0, mark(x1), x2) 26.18/8.17 U42(x0, x1, mark(x2)) 26.18/8.17 U42(active(x0), x1, x2) 26.18/8.17 U42(x0, active(x1), x2) 26.18/8.17 U42(x0, x1, active(x2)) 26.18/8.17 s(mark(x0)) 26.18/8.17 s(active(x0)) 26.18/8.17 plus(mark(x0), x1) 26.18/8.17 plus(x0, mark(x1)) 26.18/8.17 plus(active(x0), x1) 26.18/8.17 plus(x0, active(x1)) 26.18/8.17 26.18/8.17 We have to consider all minimal (P,Q,R)-chains. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (81) DependencyGraphProof (EQUIVALENT) 26.18/8.17 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 26.18/8.17 ---------------------------------------- 26.18/8.17 26.18/8.17 (82) 26.18/8.17 Obligation: 26.18/8.17 Q DP problem: 26.18/8.17 The TRS P consists of the following rules: 26.18/8.17 26.18/8.17 MARK(U12(X)) -> MARK(X) 26.18/8.17 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 26.18/8.17 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 26.18/8.17 ACTIVE(U41(tt, M, N)) -> MARK(U42(isNat(N), M, N)) 26.18/8.17 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 26.18/8.17 ACTIVE(plus(N, s(M))) -> MARK(U41(isNat(M), M, N)) 26.18/8.17 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 26.18/8.17 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.17 MARK(isNat(X)) -> ACTIVE(isNat(X)) 26.18/8.17 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 26.18/8.18 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 26.18/8.18 MARK(U21(X)) -> MARK(X) 26.18/8.18 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 26.18/8.18 26.18/8.18 The TRS R consists of the following rules: 26.18/8.18 26.18/8.18 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.18 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.18 active(U31(tt, N)) -> mark(N) 26.18/8.18 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.18 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.18 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.18 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.18 mark(s(X)) -> active(s(mark(X))) 26.18/8.18 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.18 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.18 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.18 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.18 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.18 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.18 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.18 mark(isNat(X)) -> active(isNat(X)) 26.18/8.18 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.18 mark(tt) -> active(tt) 26.18/8.18 mark(0) -> active(0) 26.18/8.18 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.18 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.18 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.18 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.18 U12(active(X)) -> U12(X) 26.18/8.18 U12(mark(X)) -> U12(X) 26.18/8.18 active(U12(tt)) -> mark(tt) 26.18/8.18 active(U21(tt)) -> mark(tt) 26.18/8.18 active(isNat(0)) -> mark(tt) 26.18/8.18 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.18 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.18 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.18 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.18 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.18 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.18 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.18 s(active(X)) -> s(X) 26.18/8.18 s(mark(X)) -> s(X) 26.18/8.18 U21(active(X)) -> U21(X) 26.18/8.18 U21(mark(X)) -> U21(X) 26.18/8.18 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.18 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.18 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.18 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.18 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.18 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.18 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.18 26.18/8.18 The set Q consists of the following terms: 26.18/8.18 26.18/8.18 active(U11(tt, x0)) 26.18/8.18 active(U12(tt)) 26.18/8.18 active(U21(tt)) 26.18/8.18 active(U31(tt, x0)) 26.18/8.18 active(U41(tt, x0, x1)) 26.18/8.18 active(U42(tt, x0, x1)) 26.18/8.18 active(isNat(0)) 26.18/8.18 active(isNat(plus(x0, x1))) 26.18/8.18 active(isNat(s(x0))) 26.18/8.18 active(plus(x0, 0)) 26.18/8.18 active(plus(x0, s(x1))) 26.18/8.18 mark(U11(x0, x1)) 26.18/8.18 mark(tt) 26.18/8.18 mark(U12(x0)) 26.18/8.18 mark(isNat(x0)) 26.18/8.18 mark(U21(x0)) 26.18/8.18 mark(U31(x0, x1)) 26.18/8.18 mark(U41(x0, x1, x2)) 26.18/8.18 mark(U42(x0, x1, x2)) 26.18/8.18 mark(s(x0)) 26.18/8.18 mark(plus(x0, x1)) 26.18/8.18 mark(0) 26.18/8.18 U11(mark(x0), x1) 26.18/8.18 U11(x0, mark(x1)) 26.18/8.18 U11(active(x0), x1) 26.18/8.18 U11(x0, active(x1)) 26.18/8.18 U12(mark(x0)) 26.18/8.18 U12(active(x0)) 26.18/8.18 isNat(mark(x0)) 26.18/8.18 isNat(active(x0)) 26.18/8.18 U21(mark(x0)) 26.18/8.18 U21(active(x0)) 26.18/8.18 U31(mark(x0), x1) 26.18/8.18 U31(x0, mark(x1)) 26.18/8.18 U31(active(x0), x1) 26.18/8.18 U31(x0, active(x1)) 26.18/8.18 U41(mark(x0), x1, x2) 26.18/8.18 U41(x0, mark(x1), x2) 26.18/8.18 U41(x0, x1, mark(x2)) 26.18/8.18 U41(active(x0), x1, x2) 26.18/8.18 U41(x0, active(x1), x2) 26.18/8.18 U41(x0, x1, active(x2)) 26.18/8.18 U42(mark(x0), x1, x2) 26.18/8.18 U42(x0, mark(x1), x2) 26.18/8.18 U42(x0, x1, mark(x2)) 26.18/8.18 U42(active(x0), x1, x2) 26.18/8.18 U42(x0, active(x1), x2) 26.18/8.18 U42(x0, x1, active(x2)) 26.18/8.18 s(mark(x0)) 26.18/8.18 s(active(x0)) 26.18/8.18 plus(mark(x0), x1) 26.18/8.18 plus(x0, mark(x1)) 26.18/8.18 plus(active(x0), x1) 26.18/8.18 plus(x0, active(x1)) 26.18/8.18 26.18/8.18 We have to consider all minimal (P,Q,R)-chains. 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (83) QDPQMonotonicMRRProof (EQUIVALENT) 26.18/8.18 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 26.18/8.18 26.18/8.18 Strictly oriented dependency pairs: 26.18/8.18 26.18/8.18 MARK(U42(X1, X2, X3)) -> ACTIVE(U42(mark(X1), X2, X3)) 26.18/8.18 26.18/8.18 26.18/8.18 Used ordering: Polynomial interpretation [POLO]: 26.18/8.18 26.18/8.18 POL(0) = 0 26.18/8.18 POL(ACTIVE(x_1)) = x_1 26.18/8.18 POL(MARK(x_1)) = 1 26.18/8.18 POL(U11(x_1, x_2)) = 1 26.18/8.18 POL(U12(x_1)) = 0 26.18/8.18 POL(U21(x_1)) = 0 26.18/8.18 POL(U31(x_1, x_2)) = 0 26.18/8.18 POL(U41(x_1, x_2, x_3)) = 1 26.18/8.18 POL(U42(x_1, x_2, x_3)) = 0 26.18/8.18 POL(active(x_1)) = 0 26.18/8.18 POL(isNat(x_1)) = 1 26.18/8.18 POL(mark(x_1)) = 0 26.18/8.18 POL(plus(x_1, x_2)) = 1 26.18/8.18 POL(s(x_1)) = 0 26.18/8.18 POL(tt) = 0 26.18/8.18 26.18/8.18 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (84) 26.18/8.18 Obligation: 26.18/8.18 Q DP problem: 26.18/8.18 The TRS P consists of the following rules: 26.18/8.18 26.18/8.18 MARK(U12(X)) -> MARK(X) 26.18/8.18 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 26.18/8.18 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 26.18/8.18 ACTIVE(U41(tt, M, N)) -> MARK(U42(isNat(N), M, N)) 26.18/8.18 ACTIVE(plus(N, s(M))) -> MARK(U41(isNat(M), M, N)) 26.18/8.18 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 26.18/8.18 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.18 MARK(isNat(X)) -> ACTIVE(isNat(X)) 26.18/8.18 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 26.18/8.18 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 26.18/8.18 MARK(U21(X)) -> MARK(X) 26.18/8.18 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 26.18/8.18 26.18/8.18 The TRS R consists of the following rules: 26.18/8.18 26.18/8.18 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.18 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.18 active(U31(tt, N)) -> mark(N) 26.18/8.18 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.18 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.18 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.18 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.18 mark(s(X)) -> active(s(mark(X))) 26.18/8.18 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.18 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.18 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.18 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.18 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.18 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.18 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.18 mark(isNat(X)) -> active(isNat(X)) 26.18/8.18 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.18 mark(tt) -> active(tt) 26.18/8.18 mark(0) -> active(0) 26.18/8.18 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.18 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.18 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.18 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.18 U12(active(X)) -> U12(X) 26.18/8.18 U12(mark(X)) -> U12(X) 26.18/8.18 active(U12(tt)) -> mark(tt) 26.18/8.18 active(U21(tt)) -> mark(tt) 26.18/8.18 active(isNat(0)) -> mark(tt) 26.18/8.18 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.18 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.18 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.18 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.18 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.18 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.18 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.18 s(active(X)) -> s(X) 26.18/8.18 s(mark(X)) -> s(X) 26.18/8.18 U21(active(X)) -> U21(X) 26.18/8.18 U21(mark(X)) -> U21(X) 26.18/8.18 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.18 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.18 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.18 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.18 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.18 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.18 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.18 26.18/8.18 The set Q consists of the following terms: 26.18/8.18 26.18/8.18 active(U11(tt, x0)) 26.18/8.18 active(U12(tt)) 26.18/8.18 active(U21(tt)) 26.18/8.18 active(U31(tt, x0)) 26.18/8.18 active(U41(tt, x0, x1)) 26.18/8.18 active(U42(tt, x0, x1)) 26.18/8.18 active(isNat(0)) 26.18/8.18 active(isNat(plus(x0, x1))) 26.18/8.18 active(isNat(s(x0))) 26.18/8.18 active(plus(x0, 0)) 26.18/8.18 active(plus(x0, s(x1))) 26.18/8.18 mark(U11(x0, x1)) 26.18/8.18 mark(tt) 26.18/8.18 mark(U12(x0)) 26.18/8.18 mark(isNat(x0)) 26.18/8.18 mark(U21(x0)) 26.18/8.18 mark(U31(x0, x1)) 26.18/8.18 mark(U41(x0, x1, x2)) 26.18/8.18 mark(U42(x0, x1, x2)) 26.18/8.18 mark(s(x0)) 26.18/8.18 mark(plus(x0, x1)) 26.18/8.18 mark(0) 26.18/8.18 U11(mark(x0), x1) 26.18/8.18 U11(x0, mark(x1)) 26.18/8.18 U11(active(x0), x1) 26.18/8.18 U11(x0, active(x1)) 26.18/8.18 U12(mark(x0)) 26.18/8.18 U12(active(x0)) 26.18/8.18 isNat(mark(x0)) 26.18/8.18 isNat(active(x0)) 26.18/8.18 U21(mark(x0)) 26.18/8.18 U21(active(x0)) 26.18/8.18 U31(mark(x0), x1) 26.18/8.18 U31(x0, mark(x1)) 26.18/8.18 U31(active(x0), x1) 26.18/8.18 U31(x0, active(x1)) 26.18/8.18 U41(mark(x0), x1, x2) 26.18/8.18 U41(x0, mark(x1), x2) 26.18/8.18 U41(x0, x1, mark(x2)) 26.18/8.18 U41(active(x0), x1, x2) 26.18/8.18 U41(x0, active(x1), x2) 26.18/8.18 U41(x0, x1, active(x2)) 26.18/8.18 U42(mark(x0), x1, x2) 26.18/8.18 U42(x0, mark(x1), x2) 26.18/8.18 U42(x0, x1, mark(x2)) 26.18/8.18 U42(active(x0), x1, x2) 26.18/8.18 U42(x0, active(x1), x2) 26.18/8.18 U42(x0, x1, active(x2)) 26.18/8.18 s(mark(x0)) 26.18/8.18 s(active(x0)) 26.18/8.18 plus(mark(x0), x1) 26.18/8.18 plus(x0, mark(x1)) 26.18/8.18 plus(active(x0), x1) 26.18/8.18 plus(x0, active(x1)) 26.18/8.18 26.18/8.18 We have to consider all minimal (P,Q,R)-chains. 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (85) DependencyGraphProof (EQUIVALENT) 26.18/8.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (86) 26.18/8.18 Obligation: 26.18/8.18 Q DP problem: 26.18/8.18 The TRS P consists of the following rules: 26.18/8.18 26.18/8.18 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 26.18/8.18 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 26.18/8.18 MARK(U12(X)) -> MARK(X) 26.18/8.18 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.18 MARK(isNat(X)) -> ACTIVE(isNat(X)) 26.18/8.18 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 26.18/8.18 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 26.18/8.18 MARK(U21(X)) -> MARK(X) 26.18/8.18 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 26.18/8.18 ACTIVE(plus(N, s(M))) -> MARK(U41(isNat(M), M, N)) 26.18/8.18 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 26.18/8.18 26.18/8.18 The TRS R consists of the following rules: 26.18/8.18 26.18/8.18 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.18 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.18 active(U31(tt, N)) -> mark(N) 26.18/8.18 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.18 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.18 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.18 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.18 mark(s(X)) -> active(s(mark(X))) 26.18/8.18 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.18 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.18 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.18 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.18 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.18 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.18 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.18 mark(isNat(X)) -> active(isNat(X)) 26.18/8.18 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.18 mark(tt) -> active(tt) 26.18/8.18 mark(0) -> active(0) 26.18/8.18 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.18 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.18 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.18 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.18 U12(active(X)) -> U12(X) 26.18/8.18 U12(mark(X)) -> U12(X) 26.18/8.18 active(U12(tt)) -> mark(tt) 26.18/8.18 active(U21(tt)) -> mark(tt) 26.18/8.18 active(isNat(0)) -> mark(tt) 26.18/8.18 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.18 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.18 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.18 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.18 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.18 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.18 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.18 s(active(X)) -> s(X) 26.18/8.18 s(mark(X)) -> s(X) 26.18/8.18 U21(active(X)) -> U21(X) 26.18/8.18 U21(mark(X)) -> U21(X) 26.18/8.18 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.18 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.18 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.18 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.18 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.18 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.18 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.18 26.18/8.18 The set Q consists of the following terms: 26.18/8.18 26.18/8.18 active(U11(tt, x0)) 26.18/8.18 active(U12(tt)) 26.18/8.18 active(U21(tt)) 26.18/8.18 active(U31(tt, x0)) 26.18/8.18 active(U41(tt, x0, x1)) 26.18/8.18 active(U42(tt, x0, x1)) 26.18/8.18 active(isNat(0)) 26.18/8.18 active(isNat(plus(x0, x1))) 26.18/8.18 active(isNat(s(x0))) 26.18/8.18 active(plus(x0, 0)) 26.18/8.18 active(plus(x0, s(x1))) 26.18/8.18 mark(U11(x0, x1)) 26.18/8.18 mark(tt) 26.18/8.18 mark(U12(x0)) 26.18/8.18 mark(isNat(x0)) 26.18/8.18 mark(U21(x0)) 26.18/8.18 mark(U31(x0, x1)) 26.18/8.18 mark(U41(x0, x1, x2)) 26.18/8.18 mark(U42(x0, x1, x2)) 26.18/8.18 mark(s(x0)) 26.18/8.18 mark(plus(x0, x1)) 26.18/8.18 mark(0) 26.18/8.18 U11(mark(x0), x1) 26.18/8.18 U11(x0, mark(x1)) 26.18/8.18 U11(active(x0), x1) 26.18/8.18 U11(x0, active(x1)) 26.18/8.18 U12(mark(x0)) 26.18/8.18 U12(active(x0)) 26.18/8.18 isNat(mark(x0)) 26.18/8.18 isNat(active(x0)) 26.18/8.18 U21(mark(x0)) 26.18/8.18 U21(active(x0)) 26.18/8.18 U31(mark(x0), x1) 26.18/8.18 U31(x0, mark(x1)) 26.18/8.18 U31(active(x0), x1) 26.18/8.18 U31(x0, active(x1)) 26.18/8.18 U41(mark(x0), x1, x2) 26.18/8.18 U41(x0, mark(x1), x2) 26.18/8.18 U41(x0, x1, mark(x2)) 26.18/8.18 U41(active(x0), x1, x2) 26.18/8.18 U41(x0, active(x1), x2) 26.18/8.18 U41(x0, x1, active(x2)) 26.18/8.18 U42(mark(x0), x1, x2) 26.18/8.18 U42(x0, mark(x1), x2) 26.18/8.18 U42(x0, x1, mark(x2)) 26.18/8.18 U42(active(x0), x1, x2) 26.18/8.18 U42(x0, active(x1), x2) 26.18/8.18 U42(x0, x1, active(x2)) 26.18/8.18 s(mark(x0)) 26.18/8.18 s(active(x0)) 26.18/8.18 plus(mark(x0), x1) 26.18/8.18 plus(x0, mark(x1)) 26.18/8.18 plus(active(x0), x1) 26.18/8.18 plus(x0, active(x1)) 26.18/8.18 26.18/8.18 We have to consider all minimal (P,Q,R)-chains. 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (87) QDPQMonotonicMRRProof (EQUIVALENT) 26.18/8.18 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 26.18/8.18 26.18/8.18 Strictly oriented dependency pairs: 26.18/8.18 26.18/8.18 MARK(U41(X1, X2, X3)) -> ACTIVE(U41(mark(X1), X2, X3)) 26.18/8.18 26.18/8.18 26.18/8.18 Used ordering: Polynomial interpretation [POLO]: 26.18/8.18 26.18/8.18 POL(0) = 0 26.18/8.18 POL(ACTIVE(x_1)) = 2*x_1 26.18/8.18 POL(MARK(x_1)) = 2 26.18/8.18 POL(U11(x_1, x_2)) = 1 26.18/8.18 POL(U12(x_1)) = 0 26.18/8.18 POL(U21(x_1)) = 0 26.18/8.18 POL(U31(x_1, x_2)) = 0 26.18/8.18 POL(U41(x_1, x_2, x_3)) = 0 26.18/8.18 POL(U42(x_1, x_2, x_3)) = 0 26.18/8.18 POL(active(x_1)) = 0 26.18/8.18 POL(isNat(x_1)) = 1 26.18/8.18 POL(mark(x_1)) = 0 26.18/8.18 POL(plus(x_1, x_2)) = 1 26.18/8.18 POL(s(x_1)) = 0 26.18/8.18 POL(tt) = 0 26.18/8.18 26.18/8.18 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (88) 26.18/8.18 Obligation: 26.18/8.18 Q DP problem: 26.18/8.18 The TRS P consists of the following rules: 26.18/8.18 26.18/8.18 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 26.18/8.18 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 26.18/8.18 MARK(U12(X)) -> MARK(X) 26.18/8.18 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.18 MARK(isNat(X)) -> ACTIVE(isNat(X)) 26.18/8.18 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 26.18/8.18 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 26.18/8.18 MARK(U21(X)) -> MARK(X) 26.18/8.18 ACTIVE(plus(N, s(M))) -> MARK(U41(isNat(M), M, N)) 26.18/8.18 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 26.18/8.18 26.18/8.18 The TRS R consists of the following rules: 26.18/8.18 26.18/8.18 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.18 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.18 active(U31(tt, N)) -> mark(N) 26.18/8.18 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.18 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.18 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.18 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.18 mark(s(X)) -> active(s(mark(X))) 26.18/8.18 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.18 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.18 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.18 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.18 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.18 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.18 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.18 mark(isNat(X)) -> active(isNat(X)) 26.18/8.18 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.18 mark(tt) -> active(tt) 26.18/8.18 mark(0) -> active(0) 26.18/8.18 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.18 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.18 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.18 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.18 U12(active(X)) -> U12(X) 26.18/8.18 U12(mark(X)) -> U12(X) 26.18/8.18 active(U12(tt)) -> mark(tt) 26.18/8.18 active(U21(tt)) -> mark(tt) 26.18/8.18 active(isNat(0)) -> mark(tt) 26.18/8.18 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.18 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.18 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.18 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.18 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.18 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.18 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.18 s(active(X)) -> s(X) 26.18/8.18 s(mark(X)) -> s(X) 26.18/8.18 U21(active(X)) -> U21(X) 26.18/8.18 U21(mark(X)) -> U21(X) 26.18/8.18 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.18 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.18 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.18 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.18 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.18 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.18 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.18 26.18/8.18 The set Q consists of the following terms: 26.18/8.18 26.18/8.18 active(U11(tt, x0)) 26.18/8.18 active(U12(tt)) 26.18/8.18 active(U21(tt)) 26.18/8.18 active(U31(tt, x0)) 26.18/8.18 active(U41(tt, x0, x1)) 26.18/8.18 active(U42(tt, x0, x1)) 26.18/8.18 active(isNat(0)) 26.18/8.18 active(isNat(plus(x0, x1))) 26.18/8.18 active(isNat(s(x0))) 26.18/8.18 active(plus(x0, 0)) 26.18/8.18 active(plus(x0, s(x1))) 26.18/8.18 mark(U11(x0, x1)) 26.18/8.18 mark(tt) 26.18/8.18 mark(U12(x0)) 26.18/8.18 mark(isNat(x0)) 26.18/8.18 mark(U21(x0)) 26.18/8.18 mark(U31(x0, x1)) 26.18/8.18 mark(U41(x0, x1, x2)) 26.18/8.18 mark(U42(x0, x1, x2)) 26.18/8.18 mark(s(x0)) 26.18/8.18 mark(plus(x0, x1)) 26.18/8.18 mark(0) 26.18/8.18 U11(mark(x0), x1) 26.18/8.18 U11(x0, mark(x1)) 26.18/8.18 U11(active(x0), x1) 26.18/8.18 U11(x0, active(x1)) 26.18/8.18 U12(mark(x0)) 26.18/8.18 U12(active(x0)) 26.18/8.18 isNat(mark(x0)) 26.18/8.18 isNat(active(x0)) 26.18/8.18 U21(mark(x0)) 26.18/8.18 U21(active(x0)) 26.18/8.18 U31(mark(x0), x1) 26.18/8.18 U31(x0, mark(x1)) 26.18/8.18 U31(active(x0), x1) 26.18/8.18 U31(x0, active(x1)) 26.18/8.18 U41(mark(x0), x1, x2) 26.18/8.18 U41(x0, mark(x1), x2) 26.18/8.18 U41(x0, x1, mark(x2)) 26.18/8.18 U41(active(x0), x1, x2) 26.18/8.18 U41(x0, active(x1), x2) 26.18/8.18 U41(x0, x1, active(x2)) 26.18/8.18 U42(mark(x0), x1, x2) 26.18/8.18 U42(x0, mark(x1), x2) 26.18/8.18 U42(x0, x1, mark(x2)) 26.18/8.18 U42(active(x0), x1, x2) 26.18/8.18 U42(x0, active(x1), x2) 26.18/8.18 U42(x0, x1, active(x2)) 26.18/8.18 s(mark(x0)) 26.18/8.18 s(active(x0)) 26.18/8.18 plus(mark(x0), x1) 26.18/8.18 plus(x0, mark(x1)) 26.18/8.18 plus(active(x0), x1) 26.18/8.18 plus(x0, active(x1)) 26.18/8.18 26.18/8.18 We have to consider all minimal (P,Q,R)-chains. 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (89) DependencyGraphProof (EQUIVALENT) 26.18/8.18 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (90) 26.18/8.18 Obligation: 26.18/8.18 Q DP problem: 26.18/8.18 The TRS P consists of the following rules: 26.18/8.18 26.18/8.18 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 26.18/8.18 MARK(U12(X)) -> MARK(X) 26.18/8.18 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 26.18/8.18 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.18 MARK(isNat(X)) -> ACTIVE(isNat(X)) 26.18/8.18 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 26.18/8.18 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 26.18/8.18 MARK(U21(X)) -> MARK(X) 26.18/8.18 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 26.18/8.18 26.18/8.18 The TRS R consists of the following rules: 26.18/8.18 26.18/8.18 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.18 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.18 active(U31(tt, N)) -> mark(N) 26.18/8.18 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.18 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.18 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.18 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.18 mark(s(X)) -> active(s(mark(X))) 26.18/8.18 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.18 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.18 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.18 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.18 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.18 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.18 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.18 mark(isNat(X)) -> active(isNat(X)) 26.18/8.18 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.18 mark(tt) -> active(tt) 26.18/8.18 mark(0) -> active(0) 26.18/8.18 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.18 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.18 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.18 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.18 U12(active(X)) -> U12(X) 26.18/8.18 U12(mark(X)) -> U12(X) 26.18/8.18 active(U12(tt)) -> mark(tt) 26.18/8.18 active(U21(tt)) -> mark(tt) 26.18/8.18 active(isNat(0)) -> mark(tt) 26.18/8.18 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.18 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.18 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.18 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.18 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.18 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.18 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.18 s(active(X)) -> s(X) 26.18/8.18 s(mark(X)) -> s(X) 26.18/8.18 U21(active(X)) -> U21(X) 26.18/8.18 U21(mark(X)) -> U21(X) 26.18/8.18 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.18 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.18 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.18 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.18 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.18 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.18 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.18 26.18/8.18 The set Q consists of the following terms: 26.18/8.18 26.18/8.18 active(U11(tt, x0)) 26.18/8.18 active(U12(tt)) 26.18/8.18 active(U21(tt)) 26.18/8.18 active(U31(tt, x0)) 26.18/8.18 active(U41(tt, x0, x1)) 26.18/8.18 active(U42(tt, x0, x1)) 26.18/8.18 active(isNat(0)) 26.18/8.18 active(isNat(plus(x0, x1))) 26.18/8.18 active(isNat(s(x0))) 26.18/8.18 active(plus(x0, 0)) 26.18/8.18 active(plus(x0, s(x1))) 26.18/8.18 mark(U11(x0, x1)) 26.18/8.18 mark(tt) 26.18/8.18 mark(U12(x0)) 26.18/8.18 mark(isNat(x0)) 26.18/8.18 mark(U21(x0)) 26.18/8.18 mark(U31(x0, x1)) 26.18/8.18 mark(U41(x0, x1, x2)) 26.18/8.18 mark(U42(x0, x1, x2)) 26.18/8.18 mark(s(x0)) 26.18/8.18 mark(plus(x0, x1)) 26.18/8.18 mark(0) 26.18/8.18 U11(mark(x0), x1) 26.18/8.18 U11(x0, mark(x1)) 26.18/8.18 U11(active(x0), x1) 26.18/8.18 U11(x0, active(x1)) 26.18/8.18 U12(mark(x0)) 26.18/8.18 U12(active(x0)) 26.18/8.18 isNat(mark(x0)) 26.18/8.18 isNat(active(x0)) 26.18/8.18 U21(mark(x0)) 26.18/8.18 U21(active(x0)) 26.18/8.18 U31(mark(x0), x1) 26.18/8.18 U31(x0, mark(x1)) 26.18/8.18 U31(active(x0), x1) 26.18/8.18 U31(x0, active(x1)) 26.18/8.18 U41(mark(x0), x1, x2) 26.18/8.18 U41(x0, mark(x1), x2) 26.18/8.18 U41(x0, x1, mark(x2)) 26.18/8.18 U41(active(x0), x1, x2) 26.18/8.18 U41(x0, active(x1), x2) 26.18/8.18 U41(x0, x1, active(x2)) 26.18/8.18 U42(mark(x0), x1, x2) 26.18/8.18 U42(x0, mark(x1), x2) 26.18/8.18 U42(x0, x1, mark(x2)) 26.18/8.18 U42(active(x0), x1, x2) 26.18/8.18 U42(x0, active(x1), x2) 26.18/8.18 U42(x0, x1, active(x2)) 26.18/8.18 s(mark(x0)) 26.18/8.18 s(active(x0)) 26.18/8.18 plus(mark(x0), x1) 26.18/8.18 plus(x0, mark(x1)) 26.18/8.18 plus(active(x0), x1) 26.18/8.18 plus(x0, active(x1)) 26.18/8.18 26.18/8.18 We have to consider all minimal (P,Q,R)-chains. 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (91) QDPQMonotonicMRRProof (EQUIVALENT) 26.18/8.18 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 26.18/8.18 26.18/8.18 Strictly oriented dependency pairs: 26.18/8.18 26.18/8.18 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 26.18/8.18 26.18/8.18 26.18/8.18 Used ordering: Polynomial interpretation [POLO]: 26.18/8.18 26.18/8.18 POL(0) = 0 26.18/8.18 POL(ACTIVE(x_1)) = 2*x_1 26.18/8.18 POL(MARK(x_1)) = 2 26.18/8.18 POL(U11(x_1, x_2)) = 1 26.18/8.18 POL(U12(x_1)) = 0 26.18/8.18 POL(U21(x_1)) = 0 26.18/8.18 POL(U31(x_1, x_2)) = 0 26.18/8.18 POL(U41(x_1, x_2, x_3)) = 0 26.18/8.18 POL(U42(x_1, x_2, x_3)) = 0 26.18/8.18 POL(active(x_1)) = 0 26.18/8.18 POL(isNat(x_1)) = 1 26.18/8.18 POL(mark(x_1)) = 0 26.18/8.18 POL(plus(x_1, x_2)) = 0 26.18/8.18 POL(s(x_1)) = 0 26.18/8.18 POL(tt) = 0 26.18/8.18 26.18/8.18 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (92) 26.18/8.18 Obligation: 26.18/8.18 Q DP problem: 26.18/8.18 The TRS P consists of the following rules: 26.18/8.18 26.18/8.18 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 26.18/8.18 MARK(U12(X)) -> MARK(X) 26.18/8.18 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 26.18/8.18 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.18 MARK(isNat(X)) -> ACTIVE(isNat(X)) 26.18/8.18 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 26.18/8.18 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 26.18/8.18 MARK(U21(X)) -> MARK(X) 26.18/8.18 26.18/8.18 The TRS R consists of the following rules: 26.18/8.18 26.18/8.18 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.18 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.18 active(U31(tt, N)) -> mark(N) 26.18/8.18 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.18 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.18 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.18 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.18 mark(s(X)) -> active(s(mark(X))) 26.18/8.18 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.18 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.18 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.18 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.18 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.18 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.18 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.18 mark(isNat(X)) -> active(isNat(X)) 26.18/8.18 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.18 mark(tt) -> active(tt) 26.18/8.18 mark(0) -> active(0) 26.18/8.18 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.18 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.18 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.18 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.18 U12(active(X)) -> U12(X) 26.18/8.18 U12(mark(X)) -> U12(X) 26.18/8.18 active(U12(tt)) -> mark(tt) 26.18/8.18 active(U21(tt)) -> mark(tt) 26.18/8.18 active(isNat(0)) -> mark(tt) 26.18/8.18 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.18 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.18 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.18 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.18 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.18 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.18 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.18 s(active(X)) -> s(X) 26.18/8.18 s(mark(X)) -> s(X) 26.18/8.18 U21(active(X)) -> U21(X) 26.18/8.18 U21(mark(X)) -> U21(X) 26.18/8.18 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.18 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.18 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.18 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.18 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.18 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.18 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.18 26.18/8.18 The set Q consists of the following terms: 26.18/8.18 26.18/8.18 active(U11(tt, x0)) 26.18/8.18 active(U12(tt)) 26.18/8.18 active(U21(tt)) 26.18/8.18 active(U31(tt, x0)) 26.18/8.18 active(U41(tt, x0, x1)) 26.18/8.18 active(U42(tt, x0, x1)) 26.18/8.18 active(isNat(0)) 26.18/8.18 active(isNat(plus(x0, x1))) 26.18/8.18 active(isNat(s(x0))) 26.18/8.18 active(plus(x0, 0)) 26.18/8.18 active(plus(x0, s(x1))) 26.18/8.18 mark(U11(x0, x1)) 26.18/8.18 mark(tt) 26.18/8.18 mark(U12(x0)) 26.18/8.18 mark(isNat(x0)) 26.18/8.18 mark(U21(x0)) 26.18/8.18 mark(U31(x0, x1)) 26.18/8.18 mark(U41(x0, x1, x2)) 26.18/8.18 mark(U42(x0, x1, x2)) 26.18/8.18 mark(s(x0)) 26.18/8.18 mark(plus(x0, x1)) 26.18/8.18 mark(0) 26.18/8.18 U11(mark(x0), x1) 26.18/8.18 U11(x0, mark(x1)) 26.18/8.18 U11(active(x0), x1) 26.18/8.18 U11(x0, active(x1)) 26.18/8.18 U12(mark(x0)) 26.18/8.18 U12(active(x0)) 26.18/8.18 isNat(mark(x0)) 26.18/8.18 isNat(active(x0)) 26.18/8.18 U21(mark(x0)) 26.18/8.18 U21(active(x0)) 26.18/8.18 U31(mark(x0), x1) 26.18/8.18 U31(x0, mark(x1)) 26.18/8.18 U31(active(x0), x1) 26.18/8.18 U31(x0, active(x1)) 26.18/8.18 U41(mark(x0), x1, x2) 26.18/8.18 U41(x0, mark(x1), x2) 26.18/8.18 U41(x0, x1, mark(x2)) 26.18/8.18 U41(active(x0), x1, x2) 26.18/8.18 U41(x0, active(x1), x2) 26.18/8.18 U41(x0, x1, active(x2)) 26.18/8.18 U42(mark(x0), x1, x2) 26.18/8.18 U42(x0, mark(x1), x2) 26.18/8.18 U42(x0, x1, mark(x2)) 26.18/8.18 U42(active(x0), x1, x2) 26.18/8.18 U42(x0, active(x1), x2) 26.18/8.18 U42(x0, x1, active(x2)) 26.18/8.18 s(mark(x0)) 26.18/8.18 s(active(x0)) 26.18/8.18 plus(mark(x0), x1) 26.18/8.18 plus(x0, mark(x1)) 26.18/8.18 plus(active(x0), x1) 26.18/8.18 plus(x0, active(x1)) 26.18/8.18 26.18/8.18 We have to consider all minimal (P,Q,R)-chains. 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (93) QDPQMonotonicMRRProof (EQUIVALENT) 26.18/8.18 By using the Q-monotonic rule removal processor with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented such that it always occurs at a strongly monotonic position in a (P,Q,R)-chain. 26.18/8.18 26.18/8.18 Strictly oriented dependency pairs: 26.18/8.18 26.18/8.18 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 26.18/8.18 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 26.18/8.18 MARK(isNat(X)) -> ACTIVE(isNat(X)) 26.18/8.18 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 26.18/8.18 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 26.18/8.18 26.18/8.18 26.18/8.18 Used ordering: Polynomial interpretation [POLO]: 26.18/8.18 26.18/8.18 POL(0) = 2 26.18/8.18 POL(ACTIVE(x_1)) = 2*x_1 26.18/8.18 POL(MARK(x_1)) = 2 + 2*x_1 26.18/8.18 POL(U11(x_1, x_2)) = 2*x_1 + 2*x_2 26.18/8.18 POL(U12(x_1)) = x_1 26.18/8.18 POL(U21(x_1)) = x_1 26.18/8.18 POL(U31(x_1, x_2)) = 2 + 2*x_2 26.18/8.18 POL(U41(x_1, x_2, x_3)) = 2 + 2*x_2 + 2*x_3 26.18/8.18 POL(U42(x_1, x_2, x_3)) = 2 + 2*x_2 + 2*x_3 26.18/8.18 POL(active(x_1)) = x_1 26.18/8.18 POL(isNat(x_1)) = 2*x_1 26.18/8.18 POL(mark(x_1)) = x_1 26.18/8.18 POL(plus(x_1, x_2)) = 1 + 2*x_1 + 2*x_2 26.18/8.18 POL(s(x_1)) = 1 + x_1 26.18/8.18 POL(tt) = 1 26.18/8.18 26.18/8.18 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (94) 26.18/8.18 Obligation: 26.18/8.18 Q DP problem: 26.18/8.18 The TRS P consists of the following rules: 26.18/8.18 26.18/8.18 MARK(U12(X)) -> MARK(X) 26.18/8.18 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.18 MARK(U21(X)) -> MARK(X) 26.18/8.18 26.18/8.18 The TRS R consists of the following rules: 26.18/8.18 26.18/8.18 mark(U12(X)) -> active(U12(mark(X))) 26.18/8.18 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 26.18/8.18 active(U31(tt, N)) -> mark(N) 26.18/8.18 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 26.18/8.18 active(U41(tt, M, N)) -> mark(U42(isNat(N), M, N)) 26.18/8.18 mark(U42(X1, X2, X3)) -> active(U42(mark(X1), X2, X3)) 26.18/8.18 active(U42(tt, M, N)) -> mark(s(plus(N, M))) 26.18/8.18 mark(s(X)) -> active(s(mark(X))) 26.18/8.18 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 26.18/8.18 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 26.18/8.18 mark(U21(X)) -> active(U21(mark(X))) 26.18/8.18 active(plus(N, 0)) -> mark(U31(isNat(N), N)) 26.18/8.18 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 26.18/8.18 active(plus(N, s(M))) -> mark(U41(isNat(M), M, N)) 26.18/8.18 mark(U41(X1, X2, X3)) -> active(U41(mark(X1), X2, X3)) 26.18/8.18 mark(isNat(X)) -> active(isNat(X)) 26.18/8.18 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 26.18/8.18 mark(tt) -> active(tt) 26.18/8.18 mark(0) -> active(0) 26.18/8.18 plus(X1, mark(X2)) -> plus(X1, X2) 26.18/8.18 plus(mark(X1), X2) -> plus(X1, X2) 26.18/8.18 plus(active(X1), X2) -> plus(X1, X2) 26.18/8.18 plus(X1, active(X2)) -> plus(X1, X2) 26.18/8.18 U12(active(X)) -> U12(X) 26.18/8.18 U12(mark(X)) -> U12(X) 26.18/8.18 active(U12(tt)) -> mark(tt) 26.18/8.18 active(U21(tt)) -> mark(tt) 26.18/8.18 active(isNat(0)) -> mark(tt) 26.18/8.18 U11(X1, mark(X2)) -> U11(X1, X2) 26.18/8.18 U11(mark(X1), X2) -> U11(X1, X2) 26.18/8.18 U11(active(X1), X2) -> U11(X1, X2) 26.18/8.18 U11(X1, active(X2)) -> U11(X1, X2) 26.18/8.18 U42(X1, mark(X2), X3) -> U42(X1, X2, X3) 26.18/8.18 U42(mark(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, X2, mark(X3)) -> U42(X1, X2, X3) 26.18/8.18 U42(active(X1), X2, X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, active(X2), X3) -> U42(X1, X2, X3) 26.18/8.18 U42(X1, X2, active(X3)) -> U42(X1, X2, X3) 26.18/8.18 s(active(X)) -> s(X) 26.18/8.18 s(mark(X)) -> s(X) 26.18/8.18 U21(active(X)) -> U21(X) 26.18/8.18 U21(mark(X)) -> U21(X) 26.18/8.18 U31(X1, mark(X2)) -> U31(X1, X2) 26.18/8.18 U31(mark(X1), X2) -> U31(X1, X2) 26.18/8.18 U31(active(X1), X2) -> U31(X1, X2) 26.18/8.18 U31(X1, active(X2)) -> U31(X1, X2) 26.18/8.18 U41(X1, mark(X2), X3) -> U41(X1, X2, X3) 26.18/8.18 U41(mark(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, X2, mark(X3)) -> U41(X1, X2, X3) 26.18/8.18 U41(active(X1), X2, X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, active(X2), X3) -> U41(X1, X2, X3) 26.18/8.18 U41(X1, X2, active(X3)) -> U41(X1, X2, X3) 26.18/8.18 26.18/8.18 The set Q consists of the following terms: 26.18/8.18 26.18/8.18 active(U11(tt, x0)) 26.18/8.18 active(U12(tt)) 26.18/8.18 active(U21(tt)) 26.18/8.18 active(U31(tt, x0)) 26.18/8.18 active(U41(tt, x0, x1)) 26.18/8.18 active(U42(tt, x0, x1)) 26.18/8.18 active(isNat(0)) 26.18/8.18 active(isNat(plus(x0, x1))) 26.18/8.18 active(isNat(s(x0))) 26.18/8.18 active(plus(x0, 0)) 26.18/8.18 active(plus(x0, s(x1))) 26.18/8.18 mark(U11(x0, x1)) 26.18/8.18 mark(tt) 26.18/8.18 mark(U12(x0)) 26.18/8.18 mark(isNat(x0)) 26.18/8.18 mark(U21(x0)) 26.18/8.18 mark(U31(x0, x1)) 26.18/8.18 mark(U41(x0, x1, x2)) 26.18/8.18 mark(U42(x0, x1, x2)) 26.18/8.18 mark(s(x0)) 26.18/8.18 mark(plus(x0, x1)) 26.18/8.18 mark(0) 26.18/8.18 U11(mark(x0), x1) 26.18/8.18 U11(x0, mark(x1)) 26.18/8.18 U11(active(x0), x1) 26.18/8.18 U11(x0, active(x1)) 26.18/8.18 U12(mark(x0)) 26.18/8.18 U12(active(x0)) 26.18/8.18 isNat(mark(x0)) 26.18/8.18 isNat(active(x0)) 26.18/8.18 U21(mark(x0)) 26.18/8.18 U21(active(x0)) 26.18/8.18 U31(mark(x0), x1) 26.18/8.18 U31(x0, mark(x1)) 26.18/8.18 U31(active(x0), x1) 26.18/8.18 U31(x0, active(x1)) 26.18/8.18 U41(mark(x0), x1, x2) 26.18/8.18 U41(x0, mark(x1), x2) 26.18/8.18 U41(x0, x1, mark(x2)) 26.18/8.18 U41(active(x0), x1, x2) 26.18/8.18 U41(x0, active(x1), x2) 26.18/8.18 U41(x0, x1, active(x2)) 26.18/8.18 U42(mark(x0), x1, x2) 26.18/8.18 U42(x0, mark(x1), x2) 26.18/8.18 U42(x0, x1, mark(x2)) 26.18/8.18 U42(active(x0), x1, x2) 26.18/8.18 U42(x0, active(x1), x2) 26.18/8.18 U42(x0, x1, active(x2)) 26.18/8.18 s(mark(x0)) 26.18/8.18 s(active(x0)) 26.18/8.18 plus(mark(x0), x1) 26.18/8.18 plus(x0, mark(x1)) 26.18/8.18 plus(active(x0), x1) 26.18/8.18 plus(x0, active(x1)) 26.18/8.18 26.18/8.18 We have to consider all minimal (P,Q,R)-chains. 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (95) UsableRulesProof (EQUIVALENT) 26.18/8.18 As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R. 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (96) 26.18/8.18 Obligation: 26.18/8.18 Q DP problem: 26.18/8.18 The TRS P consists of the following rules: 26.18/8.18 26.18/8.18 MARK(U12(X)) -> MARK(X) 26.18/8.18 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.18 MARK(U21(X)) -> MARK(X) 26.18/8.18 26.18/8.18 R is empty. 26.18/8.18 The set Q consists of the following terms: 26.18/8.18 26.18/8.18 active(U11(tt, x0)) 26.18/8.18 active(U12(tt)) 26.18/8.18 active(U21(tt)) 26.18/8.18 active(U31(tt, x0)) 26.18/8.18 active(U41(tt, x0, x1)) 26.18/8.18 active(U42(tt, x0, x1)) 26.18/8.18 active(isNat(0)) 26.18/8.18 active(isNat(plus(x0, x1))) 26.18/8.18 active(isNat(s(x0))) 26.18/8.18 active(plus(x0, 0)) 26.18/8.18 active(plus(x0, s(x1))) 26.18/8.18 mark(U11(x0, x1)) 26.18/8.18 mark(tt) 26.18/8.18 mark(U12(x0)) 26.18/8.18 mark(isNat(x0)) 26.18/8.18 mark(U21(x0)) 26.18/8.18 mark(U31(x0, x1)) 26.18/8.18 mark(U41(x0, x1, x2)) 26.18/8.18 mark(U42(x0, x1, x2)) 26.18/8.18 mark(s(x0)) 26.18/8.18 mark(plus(x0, x1)) 26.18/8.18 mark(0) 26.18/8.18 U11(mark(x0), x1) 26.18/8.18 U11(x0, mark(x1)) 26.18/8.18 U11(active(x0), x1) 26.18/8.18 U11(x0, active(x1)) 26.18/8.18 U12(mark(x0)) 26.18/8.18 U12(active(x0)) 26.18/8.18 isNat(mark(x0)) 26.18/8.18 isNat(active(x0)) 26.18/8.18 U21(mark(x0)) 26.18/8.18 U21(active(x0)) 26.18/8.18 U31(mark(x0), x1) 26.18/8.18 U31(x0, mark(x1)) 26.18/8.18 U31(active(x0), x1) 26.18/8.18 U31(x0, active(x1)) 26.18/8.18 U41(mark(x0), x1, x2) 26.18/8.18 U41(x0, mark(x1), x2) 26.18/8.18 U41(x0, x1, mark(x2)) 26.18/8.18 U41(active(x0), x1, x2) 26.18/8.18 U41(x0, active(x1), x2) 26.18/8.18 U41(x0, x1, active(x2)) 26.18/8.18 U42(mark(x0), x1, x2) 26.18/8.18 U42(x0, mark(x1), x2) 26.18/8.18 U42(x0, x1, mark(x2)) 26.18/8.18 U42(active(x0), x1, x2) 26.18/8.18 U42(x0, active(x1), x2) 26.18/8.18 U42(x0, x1, active(x2)) 26.18/8.18 s(mark(x0)) 26.18/8.18 s(active(x0)) 26.18/8.18 plus(mark(x0), x1) 26.18/8.18 plus(x0, mark(x1)) 26.18/8.18 plus(active(x0), x1) 26.18/8.18 plus(x0, active(x1)) 26.18/8.18 26.18/8.18 We have to consider all minimal (P,Q,R)-chains. 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (97) QReductionProof (EQUIVALENT) 26.18/8.18 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 26.18/8.18 26.18/8.18 active(U11(tt, x0)) 26.18/8.18 active(U12(tt)) 26.18/8.18 active(U21(tt)) 26.18/8.18 active(U31(tt, x0)) 26.18/8.18 active(U41(tt, x0, x1)) 26.18/8.18 active(U42(tt, x0, x1)) 26.18/8.18 active(isNat(0)) 26.18/8.18 active(isNat(plus(x0, x1))) 26.18/8.18 active(isNat(s(x0))) 26.18/8.18 active(plus(x0, 0)) 26.18/8.18 active(plus(x0, s(x1))) 26.18/8.18 mark(U11(x0, x1)) 26.18/8.18 mark(tt) 26.18/8.18 mark(U12(x0)) 26.18/8.18 mark(isNat(x0)) 26.18/8.18 mark(U21(x0)) 26.18/8.18 mark(U31(x0, x1)) 26.18/8.18 mark(U41(x0, x1, x2)) 26.18/8.18 mark(U42(x0, x1, x2)) 26.18/8.18 mark(s(x0)) 26.18/8.18 mark(plus(x0, x1)) 26.18/8.18 mark(0) 26.18/8.18 isNat(mark(x0)) 26.18/8.18 isNat(active(x0)) 26.18/8.18 U31(mark(x0), x1) 26.18/8.18 U31(x0, mark(x1)) 26.18/8.18 U31(active(x0), x1) 26.18/8.18 U31(x0, active(x1)) 26.18/8.18 U41(mark(x0), x1, x2) 26.18/8.18 U41(x0, mark(x1), x2) 26.18/8.18 U41(x0, x1, mark(x2)) 26.18/8.18 U41(active(x0), x1, x2) 26.18/8.18 U41(x0, active(x1), x2) 26.18/8.18 U41(x0, x1, active(x2)) 26.18/8.18 U42(mark(x0), x1, x2) 26.18/8.18 U42(x0, mark(x1), x2) 26.18/8.18 U42(x0, x1, mark(x2)) 26.18/8.18 U42(active(x0), x1, x2) 26.18/8.18 U42(x0, active(x1), x2) 26.18/8.18 U42(x0, x1, active(x2)) 26.18/8.18 s(mark(x0)) 26.18/8.18 s(active(x0)) 26.18/8.18 plus(mark(x0), x1) 26.18/8.18 plus(x0, mark(x1)) 26.18/8.18 plus(active(x0), x1) 26.18/8.18 plus(x0, active(x1)) 26.18/8.18 26.18/8.18 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (98) 26.18/8.18 Obligation: 26.18/8.18 Q DP problem: 26.18/8.18 The TRS P consists of the following rules: 26.18/8.18 26.18/8.18 MARK(U12(X)) -> MARK(X) 26.18/8.18 MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.18 MARK(U21(X)) -> MARK(X) 26.18/8.18 26.18/8.18 R is empty. 26.18/8.18 The set Q consists of the following terms: 26.18/8.18 26.18/8.18 U11(mark(x0), x1) 26.18/8.18 U11(x0, mark(x1)) 26.18/8.18 U11(active(x0), x1) 26.18/8.18 U11(x0, active(x1)) 26.18/8.18 U12(mark(x0)) 26.18/8.18 U12(active(x0)) 26.18/8.18 U21(mark(x0)) 26.18/8.18 U21(active(x0)) 26.18/8.18 26.18/8.18 We have to consider all minimal (P,Q,R)-chains. 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (99) QDPSizeChangeProof (EQUIVALENT) 26.18/8.18 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 26.18/8.18 26.18/8.18 From the DPs we obtained the following set of size-change graphs: 26.18/8.18 *MARK(U12(X)) -> MARK(X) 26.18/8.18 The graph contains the following edges 1 > 1 26.18/8.18 26.18/8.18 26.18/8.18 *MARK(U11(X1, X2)) -> MARK(X1) 26.18/8.18 The graph contains the following edges 1 > 1 26.18/8.18 26.18/8.18 26.18/8.18 *MARK(U21(X)) -> MARK(X) 26.18/8.18 The graph contains the following edges 1 > 1 26.18/8.18 26.18/8.18 26.18/8.18 ---------------------------------------- 26.18/8.18 26.18/8.18 (100) 26.18/8.18 YES 26.18/8.21 EOF