65.62/22.31 YES 65.83/22.34 proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml 65.83/22.34 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 65.83/22.34 65.83/22.34 65.83/22.34 Termination w.r.t. Q of the given QTRS could be proven: 65.83/22.34 65.83/22.34 (0) QTRS 65.83/22.34 (1) DependencyPairsProof [EQUIVALENT, 118 ms] 65.83/22.34 (2) QDP 65.83/22.34 (3) DependencyGraphProof [EQUIVALENT, 8 ms] 65.83/22.34 (4) AND 65.83/22.34 (5) QDP 65.83/22.34 (6) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (7) QDP 65.83/22.34 (8) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (9) QDP 65.83/22.34 (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] 65.83/22.34 (11) YES 65.83/22.34 (12) QDP 65.83/22.34 (13) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (14) QDP 65.83/22.34 (15) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (16) QDP 65.83/22.34 (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] 65.83/22.34 (18) YES 65.83/22.34 (19) QDP 65.83/22.34 (20) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (21) QDP 65.83/22.34 (22) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (23) QDP 65.83/22.34 (24) QDPSizeChangeProof [EQUIVALENT, 0 ms] 65.83/22.34 (25) YES 65.83/22.34 (26) QDP 65.83/22.34 (27) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (28) QDP 65.83/22.34 (29) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (30) QDP 65.83/22.34 (31) QDPSizeChangeProof [EQUIVALENT, 0 ms] 65.83/22.34 (32) YES 65.83/22.34 (33) QDP 65.83/22.34 (34) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (35) QDP 65.83/22.34 (36) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (37) QDP 65.83/22.34 (38) QDPSizeChangeProof [EQUIVALENT, 0 ms] 65.83/22.34 (39) YES 65.83/22.34 (40) QDP 65.83/22.34 (41) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (42) QDP 65.83/22.34 (43) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (44) QDP 65.83/22.34 (45) QDPSizeChangeProof [EQUIVALENT, 0 ms] 65.83/22.34 (46) YES 65.83/22.34 (47) QDP 65.83/22.34 (48) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (49) QDP 65.83/22.34 (50) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (51) QDP 65.83/22.34 (52) QDPSizeChangeProof [EQUIVALENT, 0 ms] 65.83/22.34 (53) YES 65.83/22.34 (54) QDP 65.83/22.34 (55) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (56) QDP 65.83/22.34 (57) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (58) QDP 65.83/22.34 (59) QDPSizeChangeProof [EQUIVALENT, 0 ms] 65.83/22.34 (60) YES 65.83/22.34 (61) QDP 65.83/22.34 (62) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (63) QDP 65.83/22.34 (64) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (65) QDP 65.83/22.34 (66) QDPSizeChangeProof [EQUIVALENT, 0 ms] 65.83/22.34 (67) YES 65.83/22.34 (68) QDP 65.83/22.34 (69) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (70) QDP 65.83/22.34 (71) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (72) QDP 65.83/22.34 (73) QDPSizeChangeProof [EQUIVALENT, 0 ms] 65.83/22.34 (74) YES 65.83/22.34 (75) QDP 65.83/22.34 (76) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (77) QDP 65.83/22.34 (78) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (79) QDP 65.83/22.34 (80) QDPSizeChangeProof [EQUIVALENT, 0 ms] 65.83/22.34 (81) YES 65.83/22.34 (82) QDP 65.83/22.34 (83) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (84) QDP 65.83/22.34 (85) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (86) QDP 65.83/22.34 (87) QDPSizeChangeProof [EQUIVALENT, 0 ms] 65.83/22.34 (88) YES 65.83/22.34 (89) QDP 65.83/22.34 (90) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (91) QDP 65.83/22.34 (92) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (93) QDP 65.83/22.34 (94) QDPSizeChangeProof [EQUIVALENT, 0 ms] 65.83/22.34 (95) YES 65.83/22.34 (96) QDP 65.83/22.34 (97) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (98) QDP 65.83/22.34 (99) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (100) QDP 65.83/22.34 (101) QDPSizeChangeProof [EQUIVALENT, 0 ms] 65.83/22.34 (102) YES 65.83/22.34 (103) QDP 65.83/22.34 (104) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (105) QDP 65.83/22.34 (106) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (107) QDP 65.83/22.34 (108) QDPSizeChangeProof [EQUIVALENT, 0 ms] 65.83/22.34 (109) YES 65.83/22.34 (110) QDP 65.83/22.34 (111) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (112) QDP 65.83/22.34 (113) QDPOrderProof [EQUIVALENT, 1053 ms] 65.83/22.34 (114) QDP 65.83/22.34 (115) QDPOrderProof [EQUIVALENT, 37 ms] 65.83/22.34 (116) QDP 65.83/22.34 (117) QDPOrderProof [EQUIVALENT, 1032 ms] 65.83/22.34 (118) QDP 65.83/22.34 (119) QDPQMonotonicMRRProof [EQUIVALENT, 141 ms] 65.83/22.34 (120) QDP 65.83/22.34 (121) DependencyGraphProof [EQUIVALENT, 0 ms] 65.83/22.34 (122) QDP 65.83/22.34 (123) QDPQMonotonicMRRProof [EQUIVALENT, 176 ms] 65.83/22.34 (124) QDP 65.83/22.34 (125) DependencyGraphProof [EQUIVALENT, 0 ms] 65.83/22.34 (126) QDP 65.83/22.34 (127) QDPOrderProof [EQUIVALENT, 289 ms] 65.83/22.34 (128) QDP 65.83/22.34 (129) QDPOrderProof [EQUIVALENT, 224 ms] 65.83/22.34 (130) QDP 65.83/22.34 (131) QDPOrderProof [EQUIVALENT, 653 ms] 65.83/22.34 (132) QDP 65.83/22.34 (133) QDPOrderProof [EQUIVALENT, 323 ms] 65.83/22.34 (134) QDP 65.83/22.34 (135) QDPQMonotonicMRRProof [EQUIVALENT, 233 ms] 65.83/22.34 (136) QDP 65.83/22.34 (137) QDPOrderProof [EQUIVALENT, 279 ms] 65.83/22.34 (138) QDP 65.83/22.34 (139) QDPOrderProof [EQUIVALENT, 521 ms] 65.83/22.34 (140) QDP 65.83/22.34 (141) DependencyGraphProof [EQUIVALENT, 0 ms] 65.83/22.34 (142) QDP 65.83/22.34 (143) UsableRulesProof [EQUIVALENT, 0 ms] 65.83/22.34 (144) QDP 65.83/22.34 (145) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (146) QDP 65.83/22.34 (147) UsableRulesReductionPairsProof [EQUIVALENT, 5 ms] 65.83/22.34 (148) QDP 65.83/22.34 (149) DependencyGraphProof [EQUIVALENT, 0 ms] 65.83/22.34 (150) QDP 65.83/22.34 (151) QReductionProof [EQUIVALENT, 0 ms] 65.83/22.34 (152) QDP 65.83/22.34 (153) QDPSizeChangeProof [EQUIVALENT, 0 ms] 65.83/22.34 (154) YES 65.83/22.34 65.83/22.34 65.83/22.34 ---------------------------------------- 65.83/22.34 65.83/22.34 (0) 65.83/22.34 Obligation: 65.83/22.34 Q restricted rewrite system: 65.83/22.34 The TRS R consists of the following rules: 65.83/22.34 65.83/22.34 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.83/22.34 active(U12(tt)) -> mark(tt) 65.83/22.34 active(U21(tt)) -> mark(tt) 65.83/22.34 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.83/22.34 active(U32(tt)) -> mark(tt) 65.83/22.34 active(U41(tt, N)) -> mark(N) 65.83/22.34 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.83/22.34 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.83/22.34 active(U61(tt)) -> mark(0) 65.83/22.34 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.83/22.34 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.83/22.34 active(isNat(0)) -> mark(tt) 65.83/22.34 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.83/22.34 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.83/22.34 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.83/22.34 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.83/22.34 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.83/22.34 active(x(N, 0)) -> mark(U61(isNat(N))) 65.83/22.34 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.83/22.34 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.83/22.34 mark(tt) -> active(tt) 65.83/22.34 mark(U12(X)) -> active(U12(mark(X))) 65.83/22.34 mark(isNat(X)) -> active(isNat(X)) 65.83/22.34 mark(U21(X)) -> active(U21(mark(X))) 65.83/22.34 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.83/22.34 mark(U32(X)) -> active(U32(mark(X))) 65.83/22.34 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.83/22.34 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.83/22.34 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.83/22.34 mark(s(X)) -> active(s(mark(X))) 65.83/22.34 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.83/22.34 mark(U61(X)) -> active(U61(mark(X))) 65.83/22.34 mark(0) -> active(0) 65.83/22.34 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.83/22.34 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.83/22.34 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.83/22.34 U11(mark(X1), X2) -> U11(X1, X2) 65.83/22.34 U11(X1, mark(X2)) -> U11(X1, X2) 65.83/22.34 U11(active(X1), X2) -> U11(X1, X2) 65.83/22.34 U11(X1, active(X2)) -> U11(X1, X2) 65.83/22.34 U12(mark(X)) -> U12(X) 65.83/22.34 U12(active(X)) -> U12(X) 65.83/22.34 isNat(mark(X)) -> isNat(X) 65.83/22.34 isNat(active(X)) -> isNat(X) 65.83/22.34 U21(mark(X)) -> U21(X) 65.83/22.34 U21(active(X)) -> U21(X) 65.83/22.34 U31(mark(X1), X2) -> U31(X1, X2) 65.83/22.34 U31(X1, mark(X2)) -> U31(X1, X2) 65.83/22.34 U31(active(X1), X2) -> U31(X1, X2) 65.83/22.34 U31(X1, active(X2)) -> U31(X1, X2) 65.83/22.34 U32(mark(X)) -> U32(X) 65.83/22.34 U32(active(X)) -> U32(X) 65.83/22.34 U41(mark(X1), X2) -> U41(X1, X2) 65.83/22.34 U41(X1, mark(X2)) -> U41(X1, X2) 65.83/22.34 U41(active(X1), X2) -> U41(X1, X2) 65.83/22.34 U41(X1, active(X2)) -> U41(X1, X2) 65.83/22.34 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.34 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.83/22.34 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.83/22.34 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.34 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.83/22.34 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.83/22.34 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.34 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.83/22.34 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.83/22.34 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.34 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.83/22.34 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.83/22.34 s(mark(X)) -> s(X) 65.83/22.34 s(active(X)) -> s(X) 65.83/22.34 plus(mark(X1), X2) -> plus(X1, X2) 65.83/22.34 plus(X1, mark(X2)) -> plus(X1, X2) 65.83/22.34 plus(active(X1), X2) -> plus(X1, X2) 65.83/22.34 plus(X1, active(X2)) -> plus(X1, X2) 65.83/22.34 U61(mark(X)) -> U61(X) 65.83/22.34 U61(active(X)) -> U61(X) 65.83/22.34 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.34 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.83/22.34 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.83/22.34 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.34 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.83/22.34 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.83/22.34 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.34 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.83/22.34 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.83/22.34 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.34 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.83/22.34 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.83/22.34 x(mark(X1), X2) -> x(X1, X2) 65.83/22.34 x(X1, mark(X2)) -> x(X1, X2) 65.83/22.34 x(active(X1), X2) -> x(X1, X2) 65.83/22.34 x(X1, active(X2)) -> x(X1, X2) 65.83/22.34 65.83/22.34 The set Q consists of the following terms: 65.83/22.34 65.83/22.34 active(U11(tt, x0)) 65.83/22.34 active(U12(tt)) 65.83/22.34 active(U21(tt)) 65.83/22.34 active(U31(tt, x0)) 65.83/22.34 active(U32(tt)) 65.83/22.34 active(U41(tt, x0)) 65.83/22.34 active(U51(tt, x0, x1)) 65.83/22.34 active(U52(tt, x0, x1)) 65.83/22.34 active(U61(tt)) 65.83/22.34 active(U71(tt, x0, x1)) 65.83/22.34 active(U72(tt, x0, x1)) 65.83/22.34 active(isNat(0)) 65.83/22.34 active(isNat(plus(x0, x1))) 65.83/22.34 active(isNat(s(x0))) 65.83/22.34 active(isNat(x(x0, x1))) 65.83/22.34 active(plus(x0, 0)) 65.83/22.34 active(plus(x0, s(x1))) 65.83/22.34 active(x(x0, 0)) 65.83/22.34 active(x(x0, s(x1))) 65.83/22.34 mark(U11(x0, x1)) 65.83/22.34 mark(tt) 65.83/22.34 mark(U12(x0)) 65.83/22.34 mark(isNat(x0)) 65.83/22.34 mark(U21(x0)) 65.83/22.34 mark(U31(x0, x1)) 65.83/22.34 mark(U32(x0)) 65.83/22.34 mark(U41(x0, x1)) 65.83/22.34 mark(U51(x0, x1, x2)) 65.83/22.34 mark(U52(x0, x1, x2)) 65.83/22.34 mark(s(x0)) 65.83/22.34 mark(plus(x0, x1)) 65.83/22.34 mark(U61(x0)) 65.83/22.34 mark(0) 65.83/22.34 mark(U71(x0, x1, x2)) 65.83/22.34 mark(U72(x0, x1, x2)) 65.83/22.34 mark(x(x0, x1)) 65.83/22.34 U11(mark(x0), x1) 65.83/22.34 U11(x0, mark(x1)) 65.83/22.34 U11(active(x0), x1) 65.83/22.34 U11(x0, active(x1)) 65.83/22.34 U12(mark(x0)) 65.83/22.34 U12(active(x0)) 65.83/22.34 isNat(mark(x0)) 65.83/22.34 isNat(active(x0)) 65.83/22.34 U21(mark(x0)) 65.83/22.34 U21(active(x0)) 65.83/22.34 U31(mark(x0), x1) 65.83/22.34 U31(x0, mark(x1)) 65.83/22.34 U31(active(x0), x1) 65.83/22.34 U31(x0, active(x1)) 65.83/22.34 U32(mark(x0)) 65.83/22.34 U32(active(x0)) 65.83/22.34 U41(mark(x0), x1) 65.83/22.34 U41(x0, mark(x1)) 65.83/22.34 U41(active(x0), x1) 65.83/22.34 U41(x0, active(x1)) 65.83/22.34 U51(mark(x0), x1, x2) 65.83/22.34 U51(x0, mark(x1), x2) 65.83/22.34 U51(x0, x1, mark(x2)) 65.83/22.34 U51(active(x0), x1, x2) 65.83/22.34 U51(x0, active(x1), x2) 65.83/22.34 U51(x0, x1, active(x2)) 65.83/22.34 U52(mark(x0), x1, x2) 65.83/22.34 U52(x0, mark(x1), x2) 65.83/22.34 U52(x0, x1, mark(x2)) 65.83/22.34 U52(active(x0), x1, x2) 65.83/22.34 U52(x0, active(x1), x2) 65.83/22.34 U52(x0, x1, active(x2)) 65.83/22.34 s(mark(x0)) 65.83/22.34 s(active(x0)) 65.83/22.34 plus(mark(x0), x1) 65.83/22.34 plus(x0, mark(x1)) 65.83/22.34 plus(active(x0), x1) 65.83/22.34 plus(x0, active(x1)) 65.83/22.34 U61(mark(x0)) 65.83/22.34 U61(active(x0)) 65.83/22.34 U71(mark(x0), x1, x2) 65.83/22.34 U71(x0, mark(x1), x2) 65.83/22.34 U71(x0, x1, mark(x2)) 65.83/22.34 U71(active(x0), x1, x2) 65.83/22.34 U71(x0, active(x1), x2) 65.83/22.34 U71(x0, x1, active(x2)) 65.83/22.34 U72(mark(x0), x1, x2) 65.83/22.34 U72(x0, mark(x1), x2) 65.83/22.34 U72(x0, x1, mark(x2)) 65.83/22.34 U72(active(x0), x1, x2) 65.83/22.34 U72(x0, active(x1), x2) 65.83/22.34 U72(x0, x1, active(x2)) 65.83/22.34 x(mark(x0), x1) 65.83/22.34 x(x0, mark(x1)) 65.83/22.34 x(active(x0), x1) 65.83/22.34 x(x0, active(x1)) 65.83/22.34 65.83/22.34 65.83/22.34 ---------------------------------------- 65.83/22.34 65.83/22.34 (1) DependencyPairsProof (EQUIVALENT) 65.83/22.34 Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. 65.83/22.34 ---------------------------------------- 65.83/22.34 65.83/22.34 (2) 65.83/22.34 Obligation: 65.83/22.34 Q DP problem: 65.83/22.34 The TRS P consists of the following rules: 65.83/22.34 65.83/22.34 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.83/22.34 ACTIVE(U11(tt, V2)) -> U12^1(isNat(V2)) 65.83/22.34 ACTIVE(U11(tt, V2)) -> ISNAT(V2) 65.83/22.34 ACTIVE(U12(tt)) -> MARK(tt) 65.83/22.34 ACTIVE(U21(tt)) -> MARK(tt) 65.83/22.34 ACTIVE(U31(tt, V2)) -> MARK(U32(isNat(V2))) 65.83/22.34 ACTIVE(U31(tt, V2)) -> U32^1(isNat(V2)) 65.83/22.34 ACTIVE(U31(tt, V2)) -> ISNAT(V2) 65.83/22.34 ACTIVE(U32(tt)) -> MARK(tt) 65.83/22.34 ACTIVE(U41(tt, N)) -> MARK(N) 65.83/22.34 ACTIVE(U51(tt, M, N)) -> MARK(U52(isNat(N), M, N)) 65.83/22.34 ACTIVE(U51(tt, M, N)) -> U52^1(isNat(N), M, N) 65.83/22.34 ACTIVE(U51(tt, M, N)) -> ISNAT(N) 65.83/22.34 ACTIVE(U52(tt, M, N)) -> MARK(s(plus(N, M))) 65.83/22.34 ACTIVE(U52(tt, M, N)) -> S(plus(N, M)) 65.83/22.34 ACTIVE(U52(tt, M, N)) -> PLUS(N, M) 65.83/22.34 ACTIVE(U61(tt)) -> MARK(0) 65.83/22.34 ACTIVE(U71(tt, M, N)) -> MARK(U72(isNat(N), M, N)) 65.83/22.34 ACTIVE(U71(tt, M, N)) -> U72^1(isNat(N), M, N) 65.83/22.34 ACTIVE(U71(tt, M, N)) -> ISNAT(N) 65.83/22.34 ACTIVE(U72(tt, M, N)) -> MARK(plus(x(N, M), N)) 65.83/22.34 ACTIVE(U72(tt, M, N)) -> PLUS(x(N, M), N) 65.83/22.34 ACTIVE(U72(tt, M, N)) -> X(N, M) 65.83/22.34 ACTIVE(isNat(0)) -> MARK(tt) 65.83/22.34 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.83/22.34 ACTIVE(isNat(plus(V1, V2))) -> U11^1(isNat(V1), V2) 65.83/22.34 ACTIVE(isNat(plus(V1, V2))) -> ISNAT(V1) 65.83/22.34 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.83/22.34 ACTIVE(isNat(s(V1))) -> U21^1(isNat(V1)) 65.83/22.34 ACTIVE(isNat(s(V1))) -> ISNAT(V1) 65.83/22.34 ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNat(V1), V2)) 65.83/22.34 ACTIVE(isNat(x(V1, V2))) -> U31^1(isNat(V1), V2) 65.83/22.34 ACTIVE(isNat(x(V1, V2))) -> ISNAT(V1) 65.83/22.34 ACTIVE(plus(N, 0)) -> MARK(U41(isNat(N), N)) 65.83/22.34 ACTIVE(plus(N, 0)) -> U41^1(isNat(N), N) 65.83/22.34 ACTIVE(plus(N, 0)) -> ISNAT(N) 65.83/22.34 ACTIVE(plus(N, s(M))) -> MARK(U51(isNat(M), M, N)) 65.83/22.34 ACTIVE(plus(N, s(M))) -> U51^1(isNat(M), M, N) 65.83/22.34 ACTIVE(plus(N, s(M))) -> ISNAT(M) 65.83/22.34 ACTIVE(x(N, 0)) -> MARK(U61(isNat(N))) 65.83/22.34 ACTIVE(x(N, 0)) -> U61^1(isNat(N)) 65.83/22.34 ACTIVE(x(N, 0)) -> ISNAT(N) 65.83/22.34 ACTIVE(x(N, s(M))) -> MARK(U71(isNat(M), M, N)) 65.83/22.34 ACTIVE(x(N, s(M))) -> U71^1(isNat(M), M, N) 65.83/22.34 ACTIVE(x(N, s(M))) -> ISNAT(M) 65.83/22.34 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.83/22.34 MARK(U11(X1, X2)) -> U11^1(mark(X1), X2) 65.83/22.34 MARK(U11(X1, X2)) -> MARK(X1) 65.83/22.34 MARK(tt) -> ACTIVE(tt) 65.83/22.34 MARK(U12(X)) -> ACTIVE(U12(mark(X))) 65.83/22.34 MARK(U12(X)) -> U12^1(mark(X)) 65.83/22.34 MARK(U12(X)) -> MARK(X) 65.83/22.34 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.83/22.34 MARK(U21(X)) -> ACTIVE(U21(mark(X))) 65.83/22.34 MARK(U21(X)) -> U21^1(mark(X)) 65.83/22.34 MARK(U21(X)) -> MARK(X) 65.83/22.34 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 65.83/22.34 MARK(U31(X1, X2)) -> U31^1(mark(X1), X2) 65.83/22.34 MARK(U31(X1, X2)) -> MARK(X1) 65.83/22.34 MARK(U32(X)) -> ACTIVE(U32(mark(X))) 65.83/22.34 MARK(U32(X)) -> U32^1(mark(X)) 65.83/22.34 MARK(U32(X)) -> MARK(X) 65.83/22.34 MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) 65.83/22.34 MARK(U41(X1, X2)) -> U41^1(mark(X1), X2) 65.83/22.34 MARK(U41(X1, X2)) -> MARK(X1) 65.83/22.34 MARK(U51(X1, X2, X3)) -> ACTIVE(U51(mark(X1), X2, X3)) 65.83/22.34 MARK(U51(X1, X2, X3)) -> U51^1(mark(X1), X2, X3) 65.83/22.34 MARK(U51(X1, X2, X3)) -> MARK(X1) 65.83/22.34 MARK(U52(X1, X2, X3)) -> ACTIVE(U52(mark(X1), X2, X3)) 65.83/22.34 MARK(U52(X1, X2, X3)) -> U52^1(mark(X1), X2, X3) 65.83/22.34 MARK(U52(X1, X2, X3)) -> MARK(X1) 65.83/22.34 MARK(s(X)) -> ACTIVE(s(mark(X))) 65.83/22.34 MARK(s(X)) -> S(mark(X)) 65.83/22.34 MARK(s(X)) -> MARK(X) 65.83/22.34 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 65.83/22.34 MARK(plus(X1, X2)) -> PLUS(mark(X1), mark(X2)) 65.83/22.34 MARK(plus(X1, X2)) -> MARK(X1) 65.83/22.34 MARK(plus(X1, X2)) -> MARK(X2) 65.83/22.34 MARK(U61(X)) -> ACTIVE(U61(mark(X))) 65.83/22.34 MARK(U61(X)) -> U61^1(mark(X)) 65.83/22.34 MARK(U61(X)) -> MARK(X) 65.83/22.34 MARK(0) -> ACTIVE(0) 65.83/22.34 MARK(U71(X1, X2, X3)) -> ACTIVE(U71(mark(X1), X2, X3)) 65.83/22.34 MARK(U71(X1, X2, X3)) -> U71^1(mark(X1), X2, X3) 65.83/22.34 MARK(U71(X1, X2, X3)) -> MARK(X1) 65.83/22.34 MARK(U72(X1, X2, X3)) -> ACTIVE(U72(mark(X1), X2, X3)) 65.83/22.34 MARK(U72(X1, X2, X3)) -> U72^1(mark(X1), X2, X3) 65.83/22.34 MARK(U72(X1, X2, X3)) -> MARK(X1) 65.83/22.34 MARK(x(X1, X2)) -> ACTIVE(x(mark(X1), mark(X2))) 65.83/22.34 MARK(x(X1, X2)) -> X(mark(X1), mark(X2)) 65.83/22.34 MARK(x(X1, X2)) -> MARK(X1) 65.83/22.34 MARK(x(X1, X2)) -> MARK(X2) 65.83/22.34 U11^1(mark(X1), X2) -> U11^1(X1, X2) 65.83/22.34 U11^1(X1, mark(X2)) -> U11^1(X1, X2) 65.83/22.34 U11^1(active(X1), X2) -> U11^1(X1, X2) 65.83/22.34 U11^1(X1, active(X2)) -> U11^1(X1, X2) 65.83/22.34 U12^1(mark(X)) -> U12^1(X) 65.83/22.34 U12^1(active(X)) -> U12^1(X) 65.83/22.34 ISNAT(mark(X)) -> ISNAT(X) 65.83/22.34 ISNAT(active(X)) -> ISNAT(X) 65.83/22.34 U21^1(mark(X)) -> U21^1(X) 65.83/22.34 U21^1(active(X)) -> U21^1(X) 65.83/22.34 U31^1(mark(X1), X2) -> U31^1(X1, X2) 65.83/22.34 U31^1(X1, mark(X2)) -> U31^1(X1, X2) 65.83/22.34 U31^1(active(X1), X2) -> U31^1(X1, X2) 65.83/22.34 U31^1(X1, active(X2)) -> U31^1(X1, X2) 65.83/22.34 U32^1(mark(X)) -> U32^1(X) 65.83/22.34 U32^1(active(X)) -> U32^1(X) 65.83/22.34 U41^1(mark(X1), X2) -> U41^1(X1, X2) 65.83/22.34 U41^1(X1, mark(X2)) -> U41^1(X1, X2) 65.83/22.34 U41^1(active(X1), X2) -> U41^1(X1, X2) 65.83/22.34 U41^1(X1, active(X2)) -> U41^1(X1, X2) 65.83/22.34 U51^1(mark(X1), X2, X3) -> U51^1(X1, X2, X3) 65.83/22.34 U51^1(X1, mark(X2), X3) -> U51^1(X1, X2, X3) 65.83/22.34 U51^1(X1, X2, mark(X3)) -> U51^1(X1, X2, X3) 65.83/22.34 U51^1(active(X1), X2, X3) -> U51^1(X1, X2, X3) 65.83/22.34 U51^1(X1, active(X2), X3) -> U51^1(X1, X2, X3) 65.83/22.34 U51^1(X1, X2, active(X3)) -> U51^1(X1, X2, X3) 65.83/22.34 U52^1(mark(X1), X2, X3) -> U52^1(X1, X2, X3) 65.83/22.34 U52^1(X1, mark(X2), X3) -> U52^1(X1, X2, X3) 65.83/22.34 U52^1(X1, X2, mark(X3)) -> U52^1(X1, X2, X3) 65.83/22.34 U52^1(active(X1), X2, X3) -> U52^1(X1, X2, X3) 65.83/22.34 U52^1(X1, active(X2), X3) -> U52^1(X1, X2, X3) 65.83/22.34 U52^1(X1, X2, active(X3)) -> U52^1(X1, X2, X3) 65.83/22.34 S(mark(X)) -> S(X) 65.83/22.34 S(active(X)) -> S(X) 65.83/22.34 PLUS(mark(X1), X2) -> PLUS(X1, X2) 65.83/22.34 PLUS(X1, mark(X2)) -> PLUS(X1, X2) 65.83/22.34 PLUS(active(X1), X2) -> PLUS(X1, X2) 65.83/22.34 PLUS(X1, active(X2)) -> PLUS(X1, X2) 65.83/22.34 U61^1(mark(X)) -> U61^1(X) 65.83/22.34 U61^1(active(X)) -> U61^1(X) 65.83/22.34 U71^1(mark(X1), X2, X3) -> U71^1(X1, X2, X3) 65.83/22.34 U71^1(X1, mark(X2), X3) -> U71^1(X1, X2, X3) 65.83/22.34 U71^1(X1, X2, mark(X3)) -> U71^1(X1, X2, X3) 65.83/22.34 U71^1(active(X1), X2, X3) -> U71^1(X1, X2, X3) 65.83/22.34 U71^1(X1, active(X2), X3) -> U71^1(X1, X2, X3) 65.83/22.34 U71^1(X1, X2, active(X3)) -> U71^1(X1, X2, X3) 65.83/22.34 U72^1(mark(X1), X2, X3) -> U72^1(X1, X2, X3) 65.83/22.34 U72^1(X1, mark(X2), X3) -> U72^1(X1, X2, X3) 65.83/22.34 U72^1(X1, X2, mark(X3)) -> U72^1(X1, X2, X3) 65.83/22.34 U72^1(active(X1), X2, X3) -> U72^1(X1, X2, X3) 65.83/22.34 U72^1(X1, active(X2), X3) -> U72^1(X1, X2, X3) 65.83/22.34 U72^1(X1, X2, active(X3)) -> U72^1(X1, X2, X3) 65.83/22.34 X(mark(X1), X2) -> X(X1, X2) 65.83/22.34 X(X1, mark(X2)) -> X(X1, X2) 65.83/22.34 X(active(X1), X2) -> X(X1, X2) 65.83/22.34 X(X1, active(X2)) -> X(X1, X2) 65.83/22.34 65.83/22.34 The TRS R consists of the following rules: 65.83/22.34 65.83/22.34 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.83/22.34 active(U12(tt)) -> mark(tt) 65.83/22.34 active(U21(tt)) -> mark(tt) 65.83/22.34 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.83/22.34 active(U32(tt)) -> mark(tt) 65.83/22.34 active(U41(tt, N)) -> mark(N) 65.83/22.34 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.83/22.34 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.83/22.34 active(U61(tt)) -> mark(0) 65.83/22.34 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.83/22.34 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.83/22.34 active(isNat(0)) -> mark(tt) 65.83/22.34 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.83/22.34 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.83/22.34 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.83/22.34 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.83/22.34 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.83/22.34 active(x(N, 0)) -> mark(U61(isNat(N))) 65.83/22.34 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.83/22.34 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.83/22.34 mark(tt) -> active(tt) 65.83/22.34 mark(U12(X)) -> active(U12(mark(X))) 65.83/22.34 mark(isNat(X)) -> active(isNat(X)) 65.83/22.34 mark(U21(X)) -> active(U21(mark(X))) 65.83/22.34 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.83/22.34 mark(U32(X)) -> active(U32(mark(X))) 65.83/22.34 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.83/22.34 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.83/22.34 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.83/22.34 mark(s(X)) -> active(s(mark(X))) 65.83/22.34 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.83/22.34 mark(U61(X)) -> active(U61(mark(X))) 65.83/22.34 mark(0) -> active(0) 65.83/22.34 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.83/22.34 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.83/22.34 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.83/22.34 U11(mark(X1), X2) -> U11(X1, X2) 65.83/22.34 U11(X1, mark(X2)) -> U11(X1, X2) 65.83/22.34 U11(active(X1), X2) -> U11(X1, X2) 65.83/22.34 U11(X1, active(X2)) -> U11(X1, X2) 65.83/22.34 U12(mark(X)) -> U12(X) 65.83/22.34 U12(active(X)) -> U12(X) 65.83/22.34 isNat(mark(X)) -> isNat(X) 65.83/22.34 isNat(active(X)) -> isNat(X) 65.83/22.34 U21(mark(X)) -> U21(X) 65.83/22.34 U21(active(X)) -> U21(X) 65.83/22.34 U31(mark(X1), X2) -> U31(X1, X2) 65.83/22.34 U31(X1, mark(X2)) -> U31(X1, X2) 65.83/22.34 U31(active(X1), X2) -> U31(X1, X2) 65.83/22.34 U31(X1, active(X2)) -> U31(X1, X2) 65.83/22.34 U32(mark(X)) -> U32(X) 65.83/22.34 U32(active(X)) -> U32(X) 65.83/22.34 U41(mark(X1), X2) -> U41(X1, X2) 65.83/22.34 U41(X1, mark(X2)) -> U41(X1, X2) 65.83/22.34 U41(active(X1), X2) -> U41(X1, X2) 65.83/22.34 U41(X1, active(X2)) -> U41(X1, X2) 65.83/22.34 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.34 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.83/22.34 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.83/22.34 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.34 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.83/22.34 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.83/22.34 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.34 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.83/22.34 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.83/22.34 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.34 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.83/22.34 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.83/22.34 s(mark(X)) -> s(X) 65.83/22.34 s(active(X)) -> s(X) 65.83/22.34 plus(mark(X1), X2) -> plus(X1, X2) 65.83/22.34 plus(X1, mark(X2)) -> plus(X1, X2) 65.83/22.34 plus(active(X1), X2) -> plus(X1, X2) 65.83/22.34 plus(X1, active(X2)) -> plus(X1, X2) 65.83/22.34 U61(mark(X)) -> U61(X) 65.83/22.34 U61(active(X)) -> U61(X) 65.83/22.34 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.34 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.83/22.34 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.83/22.34 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.34 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.83/22.34 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.83/22.34 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.34 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.83/22.34 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.83/22.34 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.34 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.83/22.34 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.83/22.34 x(mark(X1), X2) -> x(X1, X2) 65.83/22.34 x(X1, mark(X2)) -> x(X1, X2) 65.83/22.34 x(active(X1), X2) -> x(X1, X2) 65.83/22.34 x(X1, active(X2)) -> x(X1, X2) 65.83/22.34 65.83/22.34 The set Q consists of the following terms: 65.83/22.34 65.83/22.34 active(U11(tt, x0)) 65.83/22.34 active(U12(tt)) 65.83/22.34 active(U21(tt)) 65.83/22.34 active(U31(tt, x0)) 65.83/22.34 active(U32(tt)) 65.83/22.34 active(U41(tt, x0)) 65.83/22.34 active(U51(tt, x0, x1)) 65.83/22.34 active(U52(tt, x0, x1)) 65.83/22.34 active(U61(tt)) 65.83/22.34 active(U71(tt, x0, x1)) 65.83/22.34 active(U72(tt, x0, x1)) 65.83/22.34 active(isNat(0)) 65.83/22.34 active(isNat(plus(x0, x1))) 65.83/22.34 active(isNat(s(x0))) 65.83/22.34 active(isNat(x(x0, x1))) 65.83/22.34 active(plus(x0, 0)) 65.83/22.34 active(plus(x0, s(x1))) 65.83/22.34 active(x(x0, 0)) 65.83/22.34 active(x(x0, s(x1))) 65.83/22.34 mark(U11(x0, x1)) 65.83/22.34 mark(tt) 65.83/22.34 mark(U12(x0)) 65.83/22.34 mark(isNat(x0)) 65.83/22.34 mark(U21(x0)) 65.83/22.34 mark(U31(x0, x1)) 65.83/22.34 mark(U32(x0)) 65.83/22.34 mark(U41(x0, x1)) 65.83/22.34 mark(U51(x0, x1, x2)) 65.83/22.34 mark(U52(x0, x1, x2)) 65.83/22.34 mark(s(x0)) 65.83/22.34 mark(plus(x0, x1)) 65.83/22.34 mark(U61(x0)) 65.83/22.34 mark(0) 65.83/22.34 mark(U71(x0, x1, x2)) 65.83/22.34 mark(U72(x0, x1, x2)) 65.83/22.34 mark(x(x0, x1)) 65.83/22.34 U11(mark(x0), x1) 65.83/22.34 U11(x0, mark(x1)) 65.83/22.34 U11(active(x0), x1) 65.83/22.34 U11(x0, active(x1)) 65.83/22.34 U12(mark(x0)) 65.83/22.34 U12(active(x0)) 65.83/22.34 isNat(mark(x0)) 65.83/22.34 isNat(active(x0)) 65.83/22.34 U21(mark(x0)) 65.83/22.34 U21(active(x0)) 65.83/22.34 U31(mark(x0), x1) 65.83/22.34 U31(x0, mark(x1)) 65.83/22.34 U31(active(x0), x1) 65.83/22.34 U31(x0, active(x1)) 65.83/22.34 U32(mark(x0)) 65.83/22.34 U32(active(x0)) 65.83/22.34 U41(mark(x0), x1) 65.83/22.34 U41(x0, mark(x1)) 65.83/22.34 U41(active(x0), x1) 65.83/22.34 U41(x0, active(x1)) 65.83/22.34 U51(mark(x0), x1, x2) 65.83/22.34 U51(x0, mark(x1), x2) 65.83/22.34 U51(x0, x1, mark(x2)) 65.83/22.34 U51(active(x0), x1, x2) 65.83/22.34 U51(x0, active(x1), x2) 65.83/22.34 U51(x0, x1, active(x2)) 65.83/22.34 U52(mark(x0), x1, x2) 65.83/22.34 U52(x0, mark(x1), x2) 65.83/22.34 U52(x0, x1, mark(x2)) 65.83/22.34 U52(active(x0), x1, x2) 65.83/22.34 U52(x0, active(x1), x2) 65.83/22.34 U52(x0, x1, active(x2)) 65.83/22.34 s(mark(x0)) 65.83/22.34 s(active(x0)) 65.83/22.34 plus(mark(x0), x1) 65.83/22.34 plus(x0, mark(x1)) 65.83/22.34 plus(active(x0), x1) 65.83/22.34 plus(x0, active(x1)) 65.83/22.34 U61(mark(x0)) 65.83/22.34 U61(active(x0)) 65.83/22.34 U71(mark(x0), x1, x2) 65.83/22.34 U71(x0, mark(x1), x2) 65.83/22.34 U71(x0, x1, mark(x2)) 65.83/22.34 U71(active(x0), x1, x2) 65.83/22.34 U71(x0, active(x1), x2) 65.83/22.34 U71(x0, x1, active(x2)) 65.83/22.34 U72(mark(x0), x1, x2) 65.83/22.34 U72(x0, mark(x1), x2) 65.83/22.34 U72(x0, x1, mark(x2)) 65.83/22.34 U72(active(x0), x1, x2) 65.83/22.34 U72(x0, active(x1), x2) 65.83/22.34 U72(x0, x1, active(x2)) 65.83/22.34 x(mark(x0), x1) 65.83/22.34 x(x0, mark(x1)) 65.83/22.34 x(active(x0), x1) 65.83/22.34 x(x0, active(x1)) 65.83/22.34 65.83/22.34 We have to consider all minimal (P,Q,R)-chains. 65.83/22.34 ---------------------------------------- 65.83/22.34 65.83/22.34 (3) DependencyGraphProof (EQUIVALENT) 65.83/22.34 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 16 SCCs with 47 less nodes. 65.83/22.34 ---------------------------------------- 65.83/22.34 65.83/22.34 (4) 65.83/22.34 Complex Obligation (AND) 65.83/22.34 65.83/22.34 ---------------------------------------- 65.83/22.34 65.83/22.34 (5) 65.83/22.34 Obligation: 65.83/22.34 Q DP problem: 65.83/22.34 The TRS P consists of the following rules: 65.83/22.34 65.83/22.34 X(X1, mark(X2)) -> X(X1, X2) 65.83/22.34 X(mark(X1), X2) -> X(X1, X2) 65.83/22.34 X(active(X1), X2) -> X(X1, X2) 65.83/22.34 X(X1, active(X2)) -> X(X1, X2) 65.83/22.34 65.83/22.34 The TRS R consists of the following rules: 65.83/22.34 65.83/22.34 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.83/22.34 active(U12(tt)) -> mark(tt) 65.83/22.34 active(U21(tt)) -> mark(tt) 65.83/22.34 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.83/22.34 active(U32(tt)) -> mark(tt) 65.83/22.34 active(U41(tt, N)) -> mark(N) 65.83/22.34 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.83/22.34 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.83/22.34 active(U61(tt)) -> mark(0) 65.83/22.34 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.83/22.34 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.83/22.34 active(isNat(0)) -> mark(tt) 65.83/22.34 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.83/22.34 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.83/22.34 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.83/22.34 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.83/22.34 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.83/22.34 active(x(N, 0)) -> mark(U61(isNat(N))) 65.83/22.34 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.83/22.34 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.83/22.34 mark(tt) -> active(tt) 65.83/22.34 mark(U12(X)) -> active(U12(mark(X))) 65.83/22.34 mark(isNat(X)) -> active(isNat(X)) 65.83/22.34 mark(U21(X)) -> active(U21(mark(X))) 65.83/22.34 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.83/22.34 mark(U32(X)) -> active(U32(mark(X))) 65.83/22.34 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.83/22.34 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.83/22.34 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.83/22.34 mark(s(X)) -> active(s(mark(X))) 65.83/22.34 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.83/22.34 mark(U61(X)) -> active(U61(mark(X))) 65.83/22.34 mark(0) -> active(0) 65.83/22.34 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.83/22.34 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.83/22.34 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.83/22.34 U11(mark(X1), X2) -> U11(X1, X2) 65.83/22.34 U11(X1, mark(X2)) -> U11(X1, X2) 65.83/22.34 U11(active(X1), X2) -> U11(X1, X2) 65.83/22.34 U11(X1, active(X2)) -> U11(X1, X2) 65.83/22.34 U12(mark(X)) -> U12(X) 65.83/22.34 U12(active(X)) -> U12(X) 65.83/22.34 isNat(mark(X)) -> isNat(X) 65.83/22.34 isNat(active(X)) -> isNat(X) 65.83/22.34 U21(mark(X)) -> U21(X) 65.83/22.34 U21(active(X)) -> U21(X) 65.83/22.34 U31(mark(X1), X2) -> U31(X1, X2) 65.83/22.34 U31(X1, mark(X2)) -> U31(X1, X2) 65.83/22.34 U31(active(X1), X2) -> U31(X1, X2) 65.83/22.34 U31(X1, active(X2)) -> U31(X1, X2) 65.83/22.34 U32(mark(X)) -> U32(X) 65.83/22.34 U32(active(X)) -> U32(X) 65.83/22.34 U41(mark(X1), X2) -> U41(X1, X2) 65.83/22.34 U41(X1, mark(X2)) -> U41(X1, X2) 65.83/22.34 U41(active(X1), X2) -> U41(X1, X2) 65.83/22.34 U41(X1, active(X2)) -> U41(X1, X2) 65.83/22.34 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.34 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.83/22.34 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.83/22.34 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.34 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.83/22.34 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.83/22.34 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.34 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.83/22.34 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.83/22.34 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.34 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.83/22.34 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.83/22.34 s(mark(X)) -> s(X) 65.83/22.34 s(active(X)) -> s(X) 65.83/22.34 plus(mark(X1), X2) -> plus(X1, X2) 65.83/22.34 plus(X1, mark(X2)) -> plus(X1, X2) 65.83/22.34 plus(active(X1), X2) -> plus(X1, X2) 65.83/22.34 plus(X1, active(X2)) -> plus(X1, X2) 65.83/22.34 U61(mark(X)) -> U61(X) 65.83/22.34 U61(active(X)) -> U61(X) 65.83/22.34 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.34 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.83/22.34 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.83/22.34 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.34 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.83/22.34 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.83/22.34 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.34 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.83/22.34 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.83/22.34 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.34 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.83/22.34 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.83/22.34 x(mark(X1), X2) -> x(X1, X2) 65.83/22.34 x(X1, mark(X2)) -> x(X1, X2) 65.83/22.34 x(active(X1), X2) -> x(X1, X2) 65.83/22.34 x(X1, active(X2)) -> x(X1, X2) 65.83/22.34 65.83/22.34 The set Q consists of the following terms: 65.83/22.34 65.83/22.34 active(U11(tt, x0)) 65.83/22.34 active(U12(tt)) 65.83/22.34 active(U21(tt)) 65.83/22.34 active(U31(tt, x0)) 65.83/22.34 active(U32(tt)) 65.83/22.34 active(U41(tt, x0)) 65.83/22.34 active(U51(tt, x0, x1)) 65.83/22.34 active(U52(tt, x0, x1)) 65.83/22.34 active(U61(tt)) 65.83/22.34 active(U71(tt, x0, x1)) 65.83/22.34 active(U72(tt, x0, x1)) 65.83/22.34 active(isNat(0)) 65.83/22.34 active(isNat(plus(x0, x1))) 65.83/22.34 active(isNat(s(x0))) 65.83/22.34 active(isNat(x(x0, x1))) 65.83/22.34 active(plus(x0, 0)) 65.83/22.34 active(plus(x0, s(x1))) 65.83/22.34 active(x(x0, 0)) 65.83/22.34 active(x(x0, s(x1))) 65.83/22.34 mark(U11(x0, x1)) 65.83/22.34 mark(tt) 65.83/22.34 mark(U12(x0)) 65.83/22.34 mark(isNat(x0)) 65.83/22.34 mark(U21(x0)) 65.83/22.34 mark(U31(x0, x1)) 65.83/22.34 mark(U32(x0)) 65.83/22.34 mark(U41(x0, x1)) 65.83/22.34 mark(U51(x0, x1, x2)) 65.83/22.34 mark(U52(x0, x1, x2)) 65.83/22.34 mark(s(x0)) 65.83/22.34 mark(plus(x0, x1)) 65.83/22.34 mark(U61(x0)) 65.83/22.34 mark(0) 65.83/22.34 mark(U71(x0, x1, x2)) 65.83/22.34 mark(U72(x0, x1, x2)) 65.83/22.34 mark(x(x0, x1)) 65.83/22.34 U11(mark(x0), x1) 65.83/22.34 U11(x0, mark(x1)) 65.83/22.34 U11(active(x0), x1) 65.83/22.34 U11(x0, active(x1)) 65.83/22.34 U12(mark(x0)) 65.83/22.34 U12(active(x0)) 65.83/22.34 isNat(mark(x0)) 65.83/22.34 isNat(active(x0)) 65.83/22.34 U21(mark(x0)) 65.83/22.34 U21(active(x0)) 65.83/22.34 U31(mark(x0), x1) 65.83/22.34 U31(x0, mark(x1)) 65.83/22.34 U31(active(x0), x1) 65.83/22.34 U31(x0, active(x1)) 65.83/22.34 U32(mark(x0)) 65.83/22.34 U32(active(x0)) 65.83/22.34 U41(mark(x0), x1) 65.83/22.34 U41(x0, mark(x1)) 65.83/22.34 U41(active(x0), x1) 65.83/22.34 U41(x0, active(x1)) 65.83/22.34 U51(mark(x0), x1, x2) 65.83/22.34 U51(x0, mark(x1), x2) 65.83/22.34 U51(x0, x1, mark(x2)) 65.83/22.34 U51(active(x0), x1, x2) 65.83/22.34 U51(x0, active(x1), x2) 65.83/22.34 U51(x0, x1, active(x2)) 65.83/22.34 U52(mark(x0), x1, x2) 65.83/22.34 U52(x0, mark(x1), x2) 65.83/22.34 U52(x0, x1, mark(x2)) 65.83/22.34 U52(active(x0), x1, x2) 65.83/22.34 U52(x0, active(x1), x2) 65.83/22.34 U52(x0, x1, active(x2)) 65.83/22.34 s(mark(x0)) 65.83/22.34 s(active(x0)) 65.83/22.34 plus(mark(x0), x1) 65.83/22.34 plus(x0, mark(x1)) 65.83/22.34 plus(active(x0), x1) 65.83/22.34 plus(x0, active(x1)) 65.83/22.34 U61(mark(x0)) 65.83/22.34 U61(active(x0)) 65.83/22.34 U71(mark(x0), x1, x2) 65.83/22.34 U71(x0, mark(x1), x2) 65.83/22.34 U71(x0, x1, mark(x2)) 65.83/22.34 U71(active(x0), x1, x2) 65.83/22.34 U71(x0, active(x1), x2) 65.83/22.34 U71(x0, x1, active(x2)) 65.83/22.34 U72(mark(x0), x1, x2) 65.83/22.34 U72(x0, mark(x1), x2) 65.83/22.34 U72(x0, x1, mark(x2)) 65.83/22.34 U72(active(x0), x1, x2) 65.83/22.34 U72(x0, active(x1), x2) 65.83/22.34 U72(x0, x1, active(x2)) 65.83/22.34 x(mark(x0), x1) 65.83/22.34 x(x0, mark(x1)) 65.83/22.34 x(active(x0), x1) 65.83/22.34 x(x0, active(x1)) 65.83/22.34 65.83/22.34 We have to consider all minimal (P,Q,R)-chains. 65.83/22.34 ---------------------------------------- 65.83/22.34 65.83/22.34 (6) UsableRulesProof (EQUIVALENT) 65.83/22.34 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. 65.83/22.34 ---------------------------------------- 65.83/22.34 65.83/22.34 (7) 65.83/22.34 Obligation: 65.83/22.34 Q DP problem: 65.83/22.34 The TRS P consists of the following rules: 65.83/22.34 65.83/22.34 X(X1, mark(X2)) -> X(X1, X2) 65.83/22.34 X(mark(X1), X2) -> X(X1, X2) 65.83/22.34 X(active(X1), X2) -> X(X1, X2) 65.83/22.34 X(X1, active(X2)) -> X(X1, X2) 65.83/22.34 65.83/22.34 R is empty. 65.83/22.34 The set Q consists of the following terms: 65.83/22.34 65.83/22.34 active(U11(tt, x0)) 65.83/22.34 active(U12(tt)) 65.83/22.34 active(U21(tt)) 65.83/22.34 active(U31(tt, x0)) 65.83/22.34 active(U32(tt)) 65.83/22.34 active(U41(tt, x0)) 65.83/22.34 active(U51(tt, x0, x1)) 65.83/22.34 active(U52(tt, x0, x1)) 65.83/22.34 active(U61(tt)) 65.83/22.34 active(U71(tt, x0, x1)) 65.83/22.34 active(U72(tt, x0, x1)) 65.83/22.34 active(isNat(0)) 65.83/22.34 active(isNat(plus(x0, x1))) 65.83/22.34 active(isNat(s(x0))) 65.83/22.34 active(isNat(x(x0, x1))) 65.83/22.34 active(plus(x0, 0)) 65.83/22.34 active(plus(x0, s(x1))) 65.83/22.34 active(x(x0, 0)) 65.83/22.34 active(x(x0, s(x1))) 65.83/22.34 mark(U11(x0, x1)) 65.83/22.34 mark(tt) 65.83/22.34 mark(U12(x0)) 65.83/22.34 mark(isNat(x0)) 65.83/22.34 mark(U21(x0)) 65.83/22.34 mark(U31(x0, x1)) 65.83/22.34 mark(U32(x0)) 65.83/22.34 mark(U41(x0, x1)) 65.83/22.34 mark(U51(x0, x1, x2)) 65.83/22.34 mark(U52(x0, x1, x2)) 65.83/22.34 mark(s(x0)) 65.83/22.34 mark(plus(x0, x1)) 65.83/22.34 mark(U61(x0)) 65.83/22.34 mark(0) 65.83/22.34 mark(U71(x0, x1, x2)) 65.83/22.34 mark(U72(x0, x1, x2)) 65.83/22.34 mark(x(x0, x1)) 65.83/22.34 U11(mark(x0), x1) 65.83/22.34 U11(x0, mark(x1)) 65.83/22.34 U11(active(x0), x1) 65.83/22.34 U11(x0, active(x1)) 65.83/22.34 U12(mark(x0)) 65.83/22.34 U12(active(x0)) 65.83/22.34 isNat(mark(x0)) 65.83/22.34 isNat(active(x0)) 65.83/22.34 U21(mark(x0)) 65.83/22.34 U21(active(x0)) 65.83/22.34 U31(mark(x0), x1) 65.83/22.34 U31(x0, mark(x1)) 65.83/22.34 U31(active(x0), x1) 65.83/22.34 U31(x0, active(x1)) 65.83/22.34 U32(mark(x0)) 65.83/22.34 U32(active(x0)) 65.83/22.34 U41(mark(x0), x1) 65.83/22.34 U41(x0, mark(x1)) 65.83/22.34 U41(active(x0), x1) 65.83/22.34 U41(x0, active(x1)) 65.83/22.34 U51(mark(x0), x1, x2) 65.83/22.34 U51(x0, mark(x1), x2) 65.83/22.34 U51(x0, x1, mark(x2)) 65.83/22.34 U51(active(x0), x1, x2) 65.83/22.34 U51(x0, active(x1), x2) 65.83/22.34 U51(x0, x1, active(x2)) 65.83/22.34 U52(mark(x0), x1, x2) 65.83/22.34 U52(x0, mark(x1), x2) 65.83/22.34 U52(x0, x1, mark(x2)) 65.83/22.34 U52(active(x0), x1, x2) 65.83/22.34 U52(x0, active(x1), x2) 65.83/22.34 U52(x0, x1, active(x2)) 65.83/22.34 s(mark(x0)) 65.83/22.34 s(active(x0)) 65.83/22.34 plus(mark(x0), x1) 65.83/22.34 plus(x0, mark(x1)) 65.83/22.34 plus(active(x0), x1) 65.83/22.34 plus(x0, active(x1)) 65.83/22.34 U61(mark(x0)) 65.83/22.34 U61(active(x0)) 65.83/22.34 U71(mark(x0), x1, x2) 65.83/22.34 U71(x0, mark(x1), x2) 65.83/22.34 U71(x0, x1, mark(x2)) 65.83/22.34 U71(active(x0), x1, x2) 65.83/22.34 U71(x0, active(x1), x2) 65.83/22.34 U71(x0, x1, active(x2)) 65.83/22.34 U72(mark(x0), x1, x2) 65.83/22.34 U72(x0, mark(x1), x2) 65.83/22.34 U72(x0, x1, mark(x2)) 65.83/22.34 U72(active(x0), x1, x2) 65.83/22.34 U72(x0, active(x1), x2) 65.83/22.34 U72(x0, x1, active(x2)) 65.83/22.34 x(mark(x0), x1) 65.83/22.34 x(x0, mark(x1)) 65.83/22.34 x(active(x0), x1) 65.83/22.34 x(x0, active(x1)) 65.83/22.34 65.83/22.34 We have to consider all minimal (P,Q,R)-chains. 65.83/22.34 ---------------------------------------- 65.83/22.34 65.83/22.34 (8) QReductionProof (EQUIVALENT) 65.83/22.34 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.83/22.34 65.83/22.34 U11(mark(x0), x1) 65.83/22.34 U11(x0, mark(x1)) 65.83/22.34 U11(active(x0), x1) 65.83/22.34 U11(x0, active(x1)) 65.83/22.34 U12(mark(x0)) 65.83/22.34 U12(active(x0)) 65.83/22.34 isNat(mark(x0)) 65.83/22.34 isNat(active(x0)) 65.83/22.34 U21(mark(x0)) 65.83/22.34 U21(active(x0)) 65.83/22.34 U31(mark(x0), x1) 65.83/22.34 U31(x0, mark(x1)) 65.83/22.34 U31(active(x0), x1) 65.83/22.34 U31(x0, active(x1)) 65.83/22.34 U32(mark(x0)) 65.83/22.34 U32(active(x0)) 65.83/22.34 U41(mark(x0), x1) 65.83/22.34 U41(x0, mark(x1)) 65.83/22.34 U41(active(x0), x1) 65.83/22.34 U41(x0, active(x1)) 65.83/22.34 U51(mark(x0), x1, x2) 65.83/22.34 U51(x0, mark(x1), x2) 65.83/22.34 U51(x0, x1, mark(x2)) 65.83/22.34 U51(active(x0), x1, x2) 65.83/22.34 U51(x0, active(x1), x2) 65.83/22.34 U51(x0, x1, active(x2)) 65.83/22.34 U52(mark(x0), x1, x2) 65.83/22.34 U52(x0, mark(x1), x2) 65.83/22.34 U52(x0, x1, mark(x2)) 65.83/22.34 U52(active(x0), x1, x2) 65.83/22.34 U52(x0, active(x1), x2) 65.83/22.34 U52(x0, x1, active(x2)) 65.83/22.34 s(mark(x0)) 65.83/22.34 s(active(x0)) 65.83/22.34 plus(mark(x0), x1) 65.83/22.34 plus(x0, mark(x1)) 65.83/22.34 plus(active(x0), x1) 65.83/22.34 plus(x0, active(x1)) 65.83/22.34 U61(mark(x0)) 65.83/22.34 U61(active(x0)) 65.83/22.34 U71(mark(x0), x1, x2) 65.83/22.34 U71(x0, mark(x1), x2) 65.83/22.34 U71(x0, x1, mark(x2)) 65.83/22.34 U71(active(x0), x1, x2) 65.83/22.34 U71(x0, active(x1), x2) 65.83/22.34 U71(x0, x1, active(x2)) 65.83/22.34 U72(mark(x0), x1, x2) 65.83/22.34 U72(x0, mark(x1), x2) 65.83/22.34 U72(x0, x1, mark(x2)) 65.83/22.34 U72(active(x0), x1, x2) 65.83/22.34 U72(x0, active(x1), x2) 65.83/22.34 U72(x0, x1, active(x2)) 65.83/22.34 x(mark(x0), x1) 65.83/22.34 x(x0, mark(x1)) 65.83/22.34 x(active(x0), x1) 65.83/22.34 x(x0, active(x1)) 65.83/22.34 65.83/22.34 65.83/22.34 ---------------------------------------- 65.83/22.34 65.83/22.34 (9) 65.83/22.34 Obligation: 65.83/22.34 Q DP problem: 65.83/22.34 The TRS P consists of the following rules: 65.83/22.34 65.83/22.34 X(X1, mark(X2)) -> X(X1, X2) 65.83/22.34 X(mark(X1), X2) -> X(X1, X2) 65.83/22.34 X(active(X1), X2) -> X(X1, X2) 65.83/22.34 X(X1, active(X2)) -> X(X1, X2) 65.83/22.34 65.83/22.34 R is empty. 65.83/22.34 The set Q consists of the following terms: 65.83/22.34 65.83/22.34 active(U11(tt, x0)) 65.83/22.34 active(U12(tt)) 65.83/22.34 active(U21(tt)) 65.83/22.34 active(U31(tt, x0)) 65.83/22.34 active(U32(tt)) 65.83/22.34 active(U41(tt, x0)) 65.83/22.34 active(U51(tt, x0, x1)) 65.83/22.34 active(U52(tt, x0, x1)) 65.83/22.34 active(U61(tt)) 65.83/22.34 active(U71(tt, x0, x1)) 65.83/22.34 active(U72(tt, x0, x1)) 65.83/22.34 active(isNat(0)) 65.83/22.34 active(isNat(plus(x0, x1))) 65.83/22.34 active(isNat(s(x0))) 65.83/22.34 active(isNat(x(x0, x1))) 65.83/22.34 active(plus(x0, 0)) 65.83/22.34 active(plus(x0, s(x1))) 65.83/22.34 active(x(x0, 0)) 65.83/22.34 active(x(x0, s(x1))) 65.83/22.34 mark(U11(x0, x1)) 65.83/22.34 mark(tt) 65.83/22.34 mark(U12(x0)) 65.83/22.34 mark(isNat(x0)) 65.83/22.34 mark(U21(x0)) 65.83/22.34 mark(U31(x0, x1)) 65.83/22.34 mark(U32(x0)) 65.83/22.34 mark(U41(x0, x1)) 65.83/22.34 mark(U51(x0, x1, x2)) 65.83/22.34 mark(U52(x0, x1, x2)) 65.83/22.34 mark(s(x0)) 65.83/22.34 mark(plus(x0, x1)) 65.83/22.34 mark(U61(x0)) 65.83/22.34 mark(0) 65.83/22.34 mark(U71(x0, x1, x2)) 65.83/22.34 mark(U72(x0, x1, x2)) 65.83/22.34 mark(x(x0, x1)) 65.83/22.34 65.83/22.34 We have to consider all minimal (P,Q,R)-chains. 65.83/22.34 ---------------------------------------- 65.83/22.34 65.83/22.34 (10) QDPSizeChangeProof (EQUIVALENT) 65.83/22.34 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. 65.83/22.34 65.83/22.34 From the DPs we obtained the following set of size-change graphs: 65.83/22.34 *X(X1, mark(X2)) -> X(X1, X2) 65.83/22.34 The graph contains the following edges 1 >= 1, 2 > 2 65.83/22.34 65.83/22.34 65.83/22.34 *X(mark(X1), X2) -> X(X1, X2) 65.83/22.34 The graph contains the following edges 1 > 1, 2 >= 2 65.83/22.34 65.83/22.34 65.83/22.34 *X(active(X1), X2) -> X(X1, X2) 65.83/22.34 The graph contains the following edges 1 > 1, 2 >= 2 65.83/22.34 65.83/22.34 65.83/22.34 *X(X1, active(X2)) -> X(X1, X2) 65.83/22.34 The graph contains the following edges 1 >= 1, 2 > 2 65.83/22.34 65.83/22.34 65.83/22.34 ---------------------------------------- 65.83/22.34 65.83/22.34 (11) 65.83/22.34 YES 65.83/22.34 65.83/22.34 ---------------------------------------- 65.83/22.34 65.83/22.34 (12) 65.83/22.34 Obligation: 65.83/22.34 Q DP problem: 65.83/22.34 The TRS P consists of the following rules: 65.83/22.34 65.83/22.34 U72^1(X1, mark(X2), X3) -> U72^1(X1, X2, X3) 65.83/22.34 U72^1(mark(X1), X2, X3) -> U72^1(X1, X2, X3) 65.83/22.34 U72^1(X1, X2, mark(X3)) -> U72^1(X1, X2, X3) 65.83/22.34 U72^1(active(X1), X2, X3) -> U72^1(X1, X2, X3) 65.83/22.34 U72^1(X1, active(X2), X3) -> U72^1(X1, X2, X3) 65.83/22.34 U72^1(X1, X2, active(X3)) -> U72^1(X1, X2, X3) 65.83/22.34 65.83/22.34 The TRS R consists of the following rules: 65.83/22.34 65.83/22.34 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.83/22.34 active(U12(tt)) -> mark(tt) 65.83/22.34 active(U21(tt)) -> mark(tt) 65.83/22.34 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.83/22.34 active(U32(tt)) -> mark(tt) 65.83/22.34 active(U41(tt, N)) -> mark(N) 65.83/22.34 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.83/22.34 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.83/22.34 active(U61(tt)) -> mark(0) 65.83/22.34 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.83/22.34 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.83/22.34 active(isNat(0)) -> mark(tt) 65.83/22.34 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.83/22.34 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.83/22.34 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.83/22.34 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.83/22.34 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.83/22.34 active(x(N, 0)) -> mark(U61(isNat(N))) 65.83/22.34 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.83/22.34 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.83/22.34 mark(tt) -> active(tt) 65.83/22.34 mark(U12(X)) -> active(U12(mark(X))) 65.83/22.34 mark(isNat(X)) -> active(isNat(X)) 65.83/22.34 mark(U21(X)) -> active(U21(mark(X))) 65.83/22.34 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.83/22.34 mark(U32(X)) -> active(U32(mark(X))) 65.83/22.34 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.83/22.34 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.83/22.34 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.83/22.34 mark(s(X)) -> active(s(mark(X))) 65.83/22.34 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.83/22.34 mark(U61(X)) -> active(U61(mark(X))) 65.83/22.34 mark(0) -> active(0) 65.83/22.34 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.83/22.34 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.83/22.34 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.83/22.34 U11(mark(X1), X2) -> U11(X1, X2) 65.83/22.34 U11(X1, mark(X2)) -> U11(X1, X2) 65.83/22.34 U11(active(X1), X2) -> U11(X1, X2) 65.83/22.34 U11(X1, active(X2)) -> U11(X1, X2) 65.83/22.34 U12(mark(X)) -> U12(X) 65.83/22.34 U12(active(X)) -> U12(X) 65.83/22.34 isNat(mark(X)) -> isNat(X) 65.83/22.34 isNat(active(X)) -> isNat(X) 65.83/22.34 U21(mark(X)) -> U21(X) 65.83/22.34 U21(active(X)) -> U21(X) 65.83/22.34 U31(mark(X1), X2) -> U31(X1, X2) 65.83/22.34 U31(X1, mark(X2)) -> U31(X1, X2) 65.83/22.34 U31(active(X1), X2) -> U31(X1, X2) 65.83/22.34 U31(X1, active(X2)) -> U31(X1, X2) 65.83/22.34 U32(mark(X)) -> U32(X) 65.83/22.34 U32(active(X)) -> U32(X) 65.83/22.34 U41(mark(X1), X2) -> U41(X1, X2) 65.83/22.34 U41(X1, mark(X2)) -> U41(X1, X2) 65.83/22.34 U41(active(X1), X2) -> U41(X1, X2) 65.83/22.34 U41(X1, active(X2)) -> U41(X1, X2) 65.83/22.34 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.34 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.83/22.34 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.83/22.34 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.34 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.83/22.34 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.83/22.34 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.34 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.83/22.34 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.83/22.34 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.34 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.83/22.34 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.83/22.34 s(mark(X)) -> s(X) 65.83/22.34 s(active(X)) -> s(X) 65.83/22.34 plus(mark(X1), X2) -> plus(X1, X2) 65.83/22.34 plus(X1, mark(X2)) -> plus(X1, X2) 65.83/22.34 plus(active(X1), X2) -> plus(X1, X2) 65.83/22.34 plus(X1, active(X2)) -> plus(X1, X2) 65.83/22.34 U61(mark(X)) -> U61(X) 65.83/22.34 U61(active(X)) -> U61(X) 65.83/22.34 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.34 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.83/22.34 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.83/22.34 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.34 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.83/22.34 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.83/22.34 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.34 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.83/22.34 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.83/22.34 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.34 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.83/22.34 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.83/22.34 x(mark(X1), X2) -> x(X1, X2) 65.83/22.34 x(X1, mark(X2)) -> x(X1, X2) 65.83/22.34 x(active(X1), X2) -> x(X1, X2) 65.83/22.34 x(X1, active(X2)) -> x(X1, X2) 65.83/22.34 65.83/22.34 The set Q consists of the following terms: 65.83/22.34 65.83/22.34 active(U11(tt, x0)) 65.83/22.34 active(U12(tt)) 65.83/22.34 active(U21(tt)) 65.83/22.34 active(U31(tt, x0)) 65.83/22.34 active(U32(tt)) 65.83/22.34 active(U41(tt, x0)) 65.83/22.34 active(U51(tt, x0, x1)) 65.83/22.34 active(U52(tt, x0, x1)) 65.83/22.34 active(U61(tt)) 65.83/22.34 active(U71(tt, x0, x1)) 65.83/22.34 active(U72(tt, x0, x1)) 65.83/22.34 active(isNat(0)) 65.83/22.34 active(isNat(plus(x0, x1))) 65.83/22.34 active(isNat(s(x0))) 65.83/22.34 active(isNat(x(x0, x1))) 65.83/22.34 active(plus(x0, 0)) 65.83/22.34 active(plus(x0, s(x1))) 65.83/22.34 active(x(x0, 0)) 65.83/22.34 active(x(x0, s(x1))) 65.83/22.34 mark(U11(x0, x1)) 65.83/22.34 mark(tt) 65.83/22.34 mark(U12(x0)) 65.83/22.34 mark(isNat(x0)) 65.83/22.34 mark(U21(x0)) 65.83/22.34 mark(U31(x0, x1)) 65.83/22.34 mark(U32(x0)) 65.83/22.34 mark(U41(x0, x1)) 65.83/22.34 mark(U51(x0, x1, x2)) 65.83/22.34 mark(U52(x0, x1, x2)) 65.83/22.34 mark(s(x0)) 65.83/22.34 mark(plus(x0, x1)) 65.83/22.34 mark(U61(x0)) 65.83/22.34 mark(0) 65.83/22.34 mark(U71(x0, x1, x2)) 65.83/22.34 mark(U72(x0, x1, x2)) 65.83/22.34 mark(x(x0, x1)) 65.83/22.34 U11(mark(x0), x1) 65.83/22.34 U11(x0, mark(x1)) 65.83/22.34 U11(active(x0), x1) 65.83/22.34 U11(x0, active(x1)) 65.83/22.34 U12(mark(x0)) 65.83/22.34 U12(active(x0)) 65.83/22.34 isNat(mark(x0)) 65.83/22.34 isNat(active(x0)) 65.83/22.34 U21(mark(x0)) 65.83/22.34 U21(active(x0)) 65.83/22.34 U31(mark(x0), x1) 65.83/22.34 U31(x0, mark(x1)) 65.83/22.34 U31(active(x0), x1) 65.83/22.34 U31(x0, active(x1)) 65.83/22.34 U32(mark(x0)) 65.83/22.34 U32(active(x0)) 65.83/22.34 U41(mark(x0), x1) 65.83/22.34 U41(x0, mark(x1)) 65.83/22.34 U41(active(x0), x1) 65.83/22.34 U41(x0, active(x1)) 65.83/22.34 U51(mark(x0), x1, x2) 65.83/22.34 U51(x0, mark(x1), x2) 65.83/22.34 U51(x0, x1, mark(x2)) 65.83/22.34 U51(active(x0), x1, x2) 65.83/22.34 U51(x0, active(x1), x2) 65.83/22.34 U51(x0, x1, active(x2)) 65.83/22.34 U52(mark(x0), x1, x2) 65.83/22.34 U52(x0, mark(x1), x2) 65.83/22.34 U52(x0, x1, mark(x2)) 65.83/22.34 U52(active(x0), x1, x2) 65.83/22.34 U52(x0, active(x1), x2) 65.83/22.34 U52(x0, x1, active(x2)) 65.83/22.34 s(mark(x0)) 65.83/22.34 s(active(x0)) 65.83/22.34 plus(mark(x0), x1) 65.83/22.34 plus(x0, mark(x1)) 65.83/22.34 plus(active(x0), x1) 65.83/22.34 plus(x0, active(x1)) 65.83/22.34 U61(mark(x0)) 65.83/22.34 U61(active(x0)) 65.83/22.34 U71(mark(x0), x1, x2) 65.83/22.34 U71(x0, mark(x1), x2) 65.83/22.34 U71(x0, x1, mark(x2)) 65.83/22.34 U71(active(x0), x1, x2) 65.83/22.34 U71(x0, active(x1), x2) 65.83/22.34 U71(x0, x1, active(x2)) 65.83/22.34 U72(mark(x0), x1, x2) 65.83/22.34 U72(x0, mark(x1), x2) 65.83/22.34 U72(x0, x1, mark(x2)) 65.83/22.34 U72(active(x0), x1, x2) 65.83/22.34 U72(x0, active(x1), x2) 65.83/22.34 U72(x0, x1, active(x2)) 65.83/22.34 x(mark(x0), x1) 65.83/22.34 x(x0, mark(x1)) 65.83/22.34 x(active(x0), x1) 65.83/22.34 x(x0, active(x1)) 65.83/22.34 65.83/22.34 We have to consider all minimal (P,Q,R)-chains. 65.83/22.34 ---------------------------------------- 65.83/22.34 65.83/22.34 (13) UsableRulesProof (EQUIVALENT) 65.83/22.34 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. 65.83/22.34 ---------------------------------------- 65.83/22.34 65.83/22.34 (14) 65.83/22.34 Obligation: 65.83/22.34 Q DP problem: 65.83/22.34 The TRS P consists of the following rules: 65.83/22.34 65.83/22.34 U72^1(X1, mark(X2), X3) -> U72^1(X1, X2, X3) 65.83/22.34 U72^1(mark(X1), X2, X3) -> U72^1(X1, X2, X3) 65.83/22.34 U72^1(X1, X2, mark(X3)) -> U72^1(X1, X2, X3) 65.83/22.34 U72^1(active(X1), X2, X3) -> U72^1(X1, X2, X3) 65.83/22.34 U72^1(X1, active(X2), X3) -> U72^1(X1, X2, X3) 65.83/22.34 U72^1(X1, X2, active(X3)) -> U72^1(X1, X2, X3) 65.83/22.34 65.83/22.34 R is empty. 65.83/22.34 The set Q consists of the following terms: 65.83/22.34 65.83/22.34 active(U11(tt, x0)) 65.83/22.34 active(U12(tt)) 65.83/22.34 active(U21(tt)) 65.83/22.34 active(U31(tt, x0)) 65.83/22.35 active(U32(tt)) 65.83/22.35 active(U41(tt, x0)) 65.83/22.35 active(U51(tt, x0, x1)) 65.83/22.35 active(U52(tt, x0, x1)) 65.83/22.35 active(U61(tt)) 65.83/22.35 active(U71(tt, x0, x1)) 65.83/22.35 active(U72(tt, x0, x1)) 65.83/22.35 active(isNat(0)) 65.83/22.35 active(isNat(plus(x0, x1))) 65.83/22.35 active(isNat(s(x0))) 65.83/22.35 active(isNat(x(x0, x1))) 65.83/22.35 active(plus(x0, 0)) 65.83/22.35 active(plus(x0, s(x1))) 65.83/22.35 active(x(x0, 0)) 65.83/22.35 active(x(x0, s(x1))) 65.83/22.35 mark(U11(x0, x1)) 65.83/22.35 mark(tt) 65.83/22.35 mark(U12(x0)) 65.83/22.35 mark(isNat(x0)) 65.83/22.35 mark(U21(x0)) 65.83/22.35 mark(U31(x0, x1)) 65.83/22.35 mark(U32(x0)) 65.83/22.35 mark(U41(x0, x1)) 65.83/22.35 mark(U51(x0, x1, x2)) 65.83/22.35 mark(U52(x0, x1, x2)) 65.83/22.35 mark(s(x0)) 65.83/22.35 mark(plus(x0, x1)) 65.83/22.35 mark(U61(x0)) 65.83/22.35 mark(0) 65.83/22.35 mark(U71(x0, x1, x2)) 65.83/22.35 mark(U72(x0, x1, x2)) 65.83/22.35 mark(x(x0, x1)) 65.83/22.35 U11(mark(x0), x1) 65.83/22.35 U11(x0, mark(x1)) 65.83/22.35 U11(active(x0), x1) 65.83/22.35 U11(x0, active(x1)) 65.83/22.35 U12(mark(x0)) 65.83/22.35 U12(active(x0)) 65.83/22.35 isNat(mark(x0)) 65.83/22.35 isNat(active(x0)) 65.83/22.35 U21(mark(x0)) 65.83/22.35 U21(active(x0)) 65.83/22.35 U31(mark(x0), x1) 65.83/22.35 U31(x0, mark(x1)) 65.83/22.35 U31(active(x0), x1) 65.83/22.35 U31(x0, active(x1)) 65.83/22.35 U32(mark(x0)) 65.83/22.35 U32(active(x0)) 65.83/22.35 U41(mark(x0), x1) 65.83/22.35 U41(x0, mark(x1)) 65.83/22.35 U41(active(x0), x1) 65.83/22.35 U41(x0, active(x1)) 65.83/22.35 U51(mark(x0), x1, x2) 65.83/22.35 U51(x0, mark(x1), x2) 65.83/22.35 U51(x0, x1, mark(x2)) 65.83/22.35 U51(active(x0), x1, x2) 65.83/22.35 U51(x0, active(x1), x2) 65.83/22.35 U51(x0, x1, active(x2)) 65.83/22.35 U52(mark(x0), x1, x2) 65.83/22.35 U52(x0, mark(x1), x2) 65.83/22.35 U52(x0, x1, mark(x2)) 65.83/22.35 U52(active(x0), x1, x2) 65.83/22.35 U52(x0, active(x1), x2) 65.83/22.35 U52(x0, x1, active(x2)) 65.83/22.35 s(mark(x0)) 65.83/22.35 s(active(x0)) 65.83/22.35 plus(mark(x0), x1) 65.83/22.35 plus(x0, mark(x1)) 65.83/22.35 plus(active(x0), x1) 65.83/22.35 plus(x0, active(x1)) 65.83/22.35 U61(mark(x0)) 65.83/22.35 U61(active(x0)) 65.83/22.35 U71(mark(x0), x1, x2) 65.83/22.35 U71(x0, mark(x1), x2) 65.83/22.35 U71(x0, x1, mark(x2)) 65.83/22.35 U71(active(x0), x1, x2) 65.83/22.35 U71(x0, active(x1), x2) 65.83/22.35 U71(x0, x1, active(x2)) 65.83/22.35 U72(mark(x0), x1, x2) 65.83/22.35 U72(x0, mark(x1), x2) 65.83/22.35 U72(x0, x1, mark(x2)) 65.83/22.35 U72(active(x0), x1, x2) 65.83/22.35 U72(x0, active(x1), x2) 65.83/22.35 U72(x0, x1, active(x2)) 65.83/22.35 x(mark(x0), x1) 65.83/22.35 x(x0, mark(x1)) 65.83/22.35 x(active(x0), x1) 65.83/22.35 x(x0, active(x1)) 65.83/22.35 65.83/22.35 We have to consider all minimal (P,Q,R)-chains. 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (15) QReductionProof (EQUIVALENT) 65.83/22.35 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.83/22.35 65.83/22.35 U11(mark(x0), x1) 65.83/22.35 U11(x0, mark(x1)) 65.83/22.35 U11(active(x0), x1) 65.83/22.35 U11(x0, active(x1)) 65.83/22.35 U12(mark(x0)) 65.83/22.35 U12(active(x0)) 65.83/22.35 isNat(mark(x0)) 65.83/22.35 isNat(active(x0)) 65.83/22.35 U21(mark(x0)) 65.83/22.35 U21(active(x0)) 65.83/22.35 U31(mark(x0), x1) 65.83/22.35 U31(x0, mark(x1)) 65.83/22.35 U31(active(x0), x1) 65.83/22.35 U31(x0, active(x1)) 65.83/22.35 U32(mark(x0)) 65.83/22.35 U32(active(x0)) 65.83/22.35 U41(mark(x0), x1) 65.83/22.35 U41(x0, mark(x1)) 65.83/22.35 U41(active(x0), x1) 65.83/22.35 U41(x0, active(x1)) 65.83/22.35 U51(mark(x0), x1, x2) 65.83/22.35 U51(x0, mark(x1), x2) 65.83/22.35 U51(x0, x1, mark(x2)) 65.83/22.35 U51(active(x0), x1, x2) 65.83/22.35 U51(x0, active(x1), x2) 65.83/22.35 U51(x0, x1, active(x2)) 65.83/22.35 U52(mark(x0), x1, x2) 65.83/22.35 U52(x0, mark(x1), x2) 65.83/22.35 U52(x0, x1, mark(x2)) 65.83/22.35 U52(active(x0), x1, x2) 65.83/22.35 U52(x0, active(x1), x2) 65.83/22.35 U52(x0, x1, active(x2)) 65.83/22.35 s(mark(x0)) 65.83/22.35 s(active(x0)) 65.83/22.35 plus(mark(x0), x1) 65.83/22.35 plus(x0, mark(x1)) 65.83/22.35 plus(active(x0), x1) 65.83/22.35 plus(x0, active(x1)) 65.83/22.35 U61(mark(x0)) 65.83/22.35 U61(active(x0)) 65.83/22.35 U71(mark(x0), x1, x2) 65.83/22.35 U71(x0, mark(x1), x2) 65.83/22.35 U71(x0, x1, mark(x2)) 65.83/22.35 U71(active(x0), x1, x2) 65.83/22.35 U71(x0, active(x1), x2) 65.83/22.35 U71(x0, x1, active(x2)) 65.83/22.35 U72(mark(x0), x1, x2) 65.83/22.35 U72(x0, mark(x1), x2) 65.83/22.35 U72(x0, x1, mark(x2)) 65.83/22.35 U72(active(x0), x1, x2) 65.83/22.35 U72(x0, active(x1), x2) 65.83/22.35 U72(x0, x1, active(x2)) 65.83/22.35 x(mark(x0), x1) 65.83/22.35 x(x0, mark(x1)) 65.83/22.35 x(active(x0), x1) 65.83/22.35 x(x0, active(x1)) 65.83/22.35 65.83/22.35 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (16) 65.83/22.35 Obligation: 65.83/22.35 Q DP problem: 65.83/22.35 The TRS P consists of the following rules: 65.83/22.35 65.83/22.35 U72^1(X1, mark(X2), X3) -> U72^1(X1, X2, X3) 65.83/22.35 U72^1(mark(X1), X2, X3) -> U72^1(X1, X2, X3) 65.83/22.35 U72^1(X1, X2, mark(X3)) -> U72^1(X1, X2, X3) 65.83/22.35 U72^1(active(X1), X2, X3) -> U72^1(X1, X2, X3) 65.83/22.35 U72^1(X1, active(X2), X3) -> U72^1(X1, X2, X3) 65.83/22.35 U72^1(X1, X2, active(X3)) -> U72^1(X1, X2, X3) 65.83/22.35 65.83/22.35 R is empty. 65.83/22.35 The set Q consists of the following terms: 65.83/22.35 65.83/22.35 active(U11(tt, x0)) 65.83/22.35 active(U12(tt)) 65.83/22.35 active(U21(tt)) 65.83/22.35 active(U31(tt, x0)) 65.83/22.35 active(U32(tt)) 65.83/22.35 active(U41(tt, x0)) 65.83/22.35 active(U51(tt, x0, x1)) 65.83/22.35 active(U52(tt, x0, x1)) 65.83/22.35 active(U61(tt)) 65.83/22.35 active(U71(tt, x0, x1)) 65.83/22.35 active(U72(tt, x0, x1)) 65.83/22.35 active(isNat(0)) 65.83/22.35 active(isNat(plus(x0, x1))) 65.83/22.35 active(isNat(s(x0))) 65.83/22.35 active(isNat(x(x0, x1))) 65.83/22.35 active(plus(x0, 0)) 65.83/22.35 active(plus(x0, s(x1))) 65.83/22.35 active(x(x0, 0)) 65.83/22.35 active(x(x0, s(x1))) 65.83/22.35 mark(U11(x0, x1)) 65.83/22.35 mark(tt) 65.83/22.35 mark(U12(x0)) 65.83/22.35 mark(isNat(x0)) 65.83/22.35 mark(U21(x0)) 65.83/22.35 mark(U31(x0, x1)) 65.83/22.35 mark(U32(x0)) 65.83/22.35 mark(U41(x0, x1)) 65.83/22.35 mark(U51(x0, x1, x2)) 65.83/22.35 mark(U52(x0, x1, x2)) 65.83/22.35 mark(s(x0)) 65.83/22.35 mark(plus(x0, x1)) 65.83/22.35 mark(U61(x0)) 65.83/22.35 mark(0) 65.83/22.35 mark(U71(x0, x1, x2)) 65.83/22.35 mark(U72(x0, x1, x2)) 65.83/22.35 mark(x(x0, x1)) 65.83/22.35 65.83/22.35 We have to consider all minimal (P,Q,R)-chains. 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (17) QDPSizeChangeProof (EQUIVALENT) 65.83/22.35 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. 65.83/22.35 65.83/22.35 From the DPs we obtained the following set of size-change graphs: 65.83/22.35 *U72^1(X1, mark(X2), X3) -> U72^1(X1, X2, X3) 65.83/22.35 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 65.83/22.35 65.83/22.35 65.83/22.35 *U72^1(mark(X1), X2, X3) -> U72^1(X1, X2, X3) 65.83/22.35 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 65.83/22.35 65.83/22.35 65.83/22.35 *U72^1(X1, X2, mark(X3)) -> U72^1(X1, X2, X3) 65.83/22.35 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 65.83/22.35 65.83/22.35 65.83/22.35 *U72^1(active(X1), X2, X3) -> U72^1(X1, X2, X3) 65.83/22.35 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 65.83/22.35 65.83/22.35 65.83/22.35 *U72^1(X1, active(X2), X3) -> U72^1(X1, X2, X3) 65.83/22.35 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 65.83/22.35 65.83/22.35 65.83/22.35 *U72^1(X1, X2, active(X3)) -> U72^1(X1, X2, X3) 65.83/22.35 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 65.83/22.35 65.83/22.35 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (18) 65.83/22.35 YES 65.83/22.35 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (19) 65.83/22.35 Obligation: 65.83/22.35 Q DP problem: 65.83/22.35 The TRS P consists of the following rules: 65.83/22.35 65.83/22.35 U71^1(X1, mark(X2), X3) -> U71^1(X1, X2, X3) 65.83/22.35 U71^1(mark(X1), X2, X3) -> U71^1(X1, X2, X3) 65.83/22.35 U71^1(X1, X2, mark(X3)) -> U71^1(X1, X2, X3) 65.83/22.35 U71^1(active(X1), X2, X3) -> U71^1(X1, X2, X3) 65.83/22.35 U71^1(X1, active(X2), X3) -> U71^1(X1, X2, X3) 65.83/22.35 U71^1(X1, X2, active(X3)) -> U71^1(X1, X2, X3) 65.83/22.35 65.83/22.35 The TRS R consists of the following rules: 65.83/22.35 65.83/22.35 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.83/22.35 active(U12(tt)) -> mark(tt) 65.83/22.35 active(U21(tt)) -> mark(tt) 65.83/22.35 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.83/22.35 active(U32(tt)) -> mark(tt) 65.83/22.35 active(U41(tt, N)) -> mark(N) 65.83/22.35 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.83/22.35 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.83/22.35 active(U61(tt)) -> mark(0) 65.83/22.35 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.83/22.35 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.83/22.35 active(isNat(0)) -> mark(tt) 65.83/22.35 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.83/22.35 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.83/22.35 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.83/22.35 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.83/22.35 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.83/22.35 active(x(N, 0)) -> mark(U61(isNat(N))) 65.83/22.35 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.83/22.35 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.83/22.35 mark(tt) -> active(tt) 65.83/22.35 mark(U12(X)) -> active(U12(mark(X))) 65.83/22.35 mark(isNat(X)) -> active(isNat(X)) 65.83/22.35 mark(U21(X)) -> active(U21(mark(X))) 65.83/22.35 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.83/22.35 mark(U32(X)) -> active(U32(mark(X))) 65.83/22.35 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.83/22.35 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.83/22.35 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.83/22.35 mark(s(X)) -> active(s(mark(X))) 65.83/22.35 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.83/22.35 mark(U61(X)) -> active(U61(mark(X))) 65.83/22.35 mark(0) -> active(0) 65.83/22.35 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.83/22.35 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.83/22.35 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.83/22.35 U11(mark(X1), X2) -> U11(X1, X2) 65.83/22.35 U11(X1, mark(X2)) -> U11(X1, X2) 65.83/22.35 U11(active(X1), X2) -> U11(X1, X2) 65.83/22.35 U11(X1, active(X2)) -> U11(X1, X2) 65.83/22.35 U12(mark(X)) -> U12(X) 65.83/22.35 U12(active(X)) -> U12(X) 65.83/22.35 isNat(mark(X)) -> isNat(X) 65.83/22.35 isNat(active(X)) -> isNat(X) 65.83/22.35 U21(mark(X)) -> U21(X) 65.83/22.35 U21(active(X)) -> U21(X) 65.83/22.35 U31(mark(X1), X2) -> U31(X1, X2) 65.83/22.35 U31(X1, mark(X2)) -> U31(X1, X2) 65.83/22.35 U31(active(X1), X2) -> U31(X1, X2) 65.83/22.35 U31(X1, active(X2)) -> U31(X1, X2) 65.83/22.35 U32(mark(X)) -> U32(X) 65.83/22.35 U32(active(X)) -> U32(X) 65.83/22.35 U41(mark(X1), X2) -> U41(X1, X2) 65.83/22.35 U41(X1, mark(X2)) -> U41(X1, X2) 65.83/22.35 U41(active(X1), X2) -> U41(X1, X2) 65.83/22.35 U41(X1, active(X2)) -> U41(X1, X2) 65.83/22.35 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.35 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.83/22.35 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.83/22.35 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.35 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.83/22.35 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.83/22.35 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.35 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.83/22.35 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.83/22.35 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.35 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.83/22.35 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.83/22.35 s(mark(X)) -> s(X) 65.83/22.35 s(active(X)) -> s(X) 65.83/22.35 plus(mark(X1), X2) -> plus(X1, X2) 65.83/22.35 plus(X1, mark(X2)) -> plus(X1, X2) 65.83/22.35 plus(active(X1), X2) -> plus(X1, X2) 65.83/22.35 plus(X1, active(X2)) -> plus(X1, X2) 65.83/22.35 U61(mark(X)) -> U61(X) 65.83/22.35 U61(active(X)) -> U61(X) 65.83/22.35 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.35 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.83/22.35 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.83/22.35 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.35 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.83/22.35 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.83/22.35 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.35 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.83/22.35 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.83/22.35 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.35 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.83/22.35 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.83/22.35 x(mark(X1), X2) -> x(X1, X2) 65.83/22.35 x(X1, mark(X2)) -> x(X1, X2) 65.83/22.35 x(active(X1), X2) -> x(X1, X2) 65.83/22.35 x(X1, active(X2)) -> x(X1, X2) 65.83/22.35 65.83/22.35 The set Q consists of the following terms: 65.83/22.35 65.83/22.35 active(U11(tt, x0)) 65.83/22.35 active(U12(tt)) 65.83/22.35 active(U21(tt)) 65.83/22.35 active(U31(tt, x0)) 65.83/22.35 active(U32(tt)) 65.83/22.35 active(U41(tt, x0)) 65.83/22.35 active(U51(tt, x0, x1)) 65.83/22.35 active(U52(tt, x0, x1)) 65.83/22.35 active(U61(tt)) 65.83/22.35 active(U71(tt, x0, x1)) 65.83/22.35 active(U72(tt, x0, x1)) 65.83/22.35 active(isNat(0)) 65.83/22.35 active(isNat(plus(x0, x1))) 65.83/22.35 active(isNat(s(x0))) 65.83/22.35 active(isNat(x(x0, x1))) 65.83/22.35 active(plus(x0, 0)) 65.83/22.35 active(plus(x0, s(x1))) 65.83/22.35 active(x(x0, 0)) 65.83/22.35 active(x(x0, s(x1))) 65.83/22.35 mark(U11(x0, x1)) 65.83/22.35 mark(tt) 65.83/22.35 mark(U12(x0)) 65.83/22.35 mark(isNat(x0)) 65.83/22.35 mark(U21(x0)) 65.83/22.35 mark(U31(x0, x1)) 65.83/22.35 mark(U32(x0)) 65.83/22.35 mark(U41(x0, x1)) 65.83/22.35 mark(U51(x0, x1, x2)) 65.83/22.35 mark(U52(x0, x1, x2)) 65.83/22.35 mark(s(x0)) 65.83/22.35 mark(plus(x0, x1)) 65.83/22.35 mark(U61(x0)) 65.83/22.35 mark(0) 65.83/22.35 mark(U71(x0, x1, x2)) 65.83/22.35 mark(U72(x0, x1, x2)) 65.83/22.35 mark(x(x0, x1)) 65.83/22.35 U11(mark(x0), x1) 65.83/22.35 U11(x0, mark(x1)) 65.83/22.35 U11(active(x0), x1) 65.83/22.35 U11(x0, active(x1)) 65.83/22.35 U12(mark(x0)) 65.83/22.35 U12(active(x0)) 65.83/22.35 isNat(mark(x0)) 65.83/22.35 isNat(active(x0)) 65.83/22.35 U21(mark(x0)) 65.83/22.35 U21(active(x0)) 65.83/22.35 U31(mark(x0), x1) 65.83/22.35 U31(x0, mark(x1)) 65.83/22.35 U31(active(x0), x1) 65.83/22.35 U31(x0, active(x1)) 65.83/22.35 U32(mark(x0)) 65.83/22.35 U32(active(x0)) 65.83/22.35 U41(mark(x0), x1) 65.83/22.35 U41(x0, mark(x1)) 65.83/22.35 U41(active(x0), x1) 65.83/22.35 U41(x0, active(x1)) 65.83/22.35 U51(mark(x0), x1, x2) 65.83/22.35 U51(x0, mark(x1), x2) 65.83/22.35 U51(x0, x1, mark(x2)) 65.83/22.35 U51(active(x0), x1, x2) 65.83/22.35 U51(x0, active(x1), x2) 65.83/22.35 U51(x0, x1, active(x2)) 65.83/22.35 U52(mark(x0), x1, x2) 65.83/22.35 U52(x0, mark(x1), x2) 65.83/22.35 U52(x0, x1, mark(x2)) 65.83/22.35 U52(active(x0), x1, x2) 65.83/22.35 U52(x0, active(x1), x2) 65.83/22.35 U52(x0, x1, active(x2)) 65.83/22.35 s(mark(x0)) 65.83/22.35 s(active(x0)) 65.83/22.35 plus(mark(x0), x1) 65.83/22.35 plus(x0, mark(x1)) 65.83/22.35 plus(active(x0), x1) 65.83/22.35 plus(x0, active(x1)) 65.83/22.35 U61(mark(x0)) 65.83/22.35 U61(active(x0)) 65.83/22.35 U71(mark(x0), x1, x2) 65.83/22.35 U71(x0, mark(x1), x2) 65.83/22.35 U71(x0, x1, mark(x2)) 65.83/22.35 U71(active(x0), x1, x2) 65.83/22.35 U71(x0, active(x1), x2) 65.83/22.35 U71(x0, x1, active(x2)) 65.83/22.35 U72(mark(x0), x1, x2) 65.83/22.35 U72(x0, mark(x1), x2) 65.83/22.35 U72(x0, x1, mark(x2)) 65.83/22.35 U72(active(x0), x1, x2) 65.83/22.35 U72(x0, active(x1), x2) 65.83/22.35 U72(x0, x1, active(x2)) 65.83/22.35 x(mark(x0), x1) 65.83/22.35 x(x0, mark(x1)) 65.83/22.35 x(active(x0), x1) 65.83/22.35 x(x0, active(x1)) 65.83/22.35 65.83/22.35 We have to consider all minimal (P,Q,R)-chains. 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (20) UsableRulesProof (EQUIVALENT) 65.83/22.35 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. 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (21) 65.83/22.35 Obligation: 65.83/22.35 Q DP problem: 65.83/22.35 The TRS P consists of the following rules: 65.83/22.35 65.83/22.35 U71^1(X1, mark(X2), X3) -> U71^1(X1, X2, X3) 65.83/22.35 U71^1(mark(X1), X2, X3) -> U71^1(X1, X2, X3) 65.83/22.35 U71^1(X1, X2, mark(X3)) -> U71^1(X1, X2, X3) 65.83/22.35 U71^1(active(X1), X2, X3) -> U71^1(X1, X2, X3) 65.83/22.35 U71^1(X1, active(X2), X3) -> U71^1(X1, X2, X3) 65.83/22.35 U71^1(X1, X2, active(X3)) -> U71^1(X1, X2, X3) 65.83/22.35 65.83/22.35 R is empty. 65.83/22.35 The set Q consists of the following terms: 65.83/22.35 65.83/22.35 active(U11(tt, x0)) 65.83/22.35 active(U12(tt)) 65.83/22.35 active(U21(tt)) 65.83/22.35 active(U31(tt, x0)) 65.83/22.35 active(U32(tt)) 65.83/22.35 active(U41(tt, x0)) 65.83/22.35 active(U51(tt, x0, x1)) 65.83/22.35 active(U52(tt, x0, x1)) 65.83/22.35 active(U61(tt)) 65.83/22.35 active(U71(tt, x0, x1)) 65.83/22.35 active(U72(tt, x0, x1)) 65.83/22.35 active(isNat(0)) 65.83/22.35 active(isNat(plus(x0, x1))) 65.83/22.35 active(isNat(s(x0))) 65.83/22.35 active(isNat(x(x0, x1))) 65.83/22.35 active(plus(x0, 0)) 65.83/22.35 active(plus(x0, s(x1))) 65.83/22.35 active(x(x0, 0)) 65.83/22.35 active(x(x0, s(x1))) 65.83/22.35 mark(U11(x0, x1)) 65.83/22.35 mark(tt) 65.83/22.35 mark(U12(x0)) 65.83/22.35 mark(isNat(x0)) 65.83/22.35 mark(U21(x0)) 65.83/22.35 mark(U31(x0, x1)) 65.83/22.35 mark(U32(x0)) 65.83/22.35 mark(U41(x0, x1)) 65.83/22.35 mark(U51(x0, x1, x2)) 65.83/22.35 mark(U52(x0, x1, x2)) 65.83/22.35 mark(s(x0)) 65.83/22.35 mark(plus(x0, x1)) 65.83/22.35 mark(U61(x0)) 65.83/22.35 mark(0) 65.83/22.35 mark(U71(x0, x1, x2)) 65.83/22.35 mark(U72(x0, x1, x2)) 65.83/22.35 mark(x(x0, x1)) 65.83/22.35 U11(mark(x0), x1) 65.83/22.35 U11(x0, mark(x1)) 65.83/22.35 U11(active(x0), x1) 65.83/22.35 U11(x0, active(x1)) 65.83/22.35 U12(mark(x0)) 65.83/22.35 U12(active(x0)) 65.83/22.35 isNat(mark(x0)) 65.83/22.35 isNat(active(x0)) 65.83/22.35 U21(mark(x0)) 65.83/22.35 U21(active(x0)) 65.83/22.35 U31(mark(x0), x1) 65.83/22.35 U31(x0, mark(x1)) 65.83/22.35 U31(active(x0), x1) 65.83/22.35 U31(x0, active(x1)) 65.83/22.35 U32(mark(x0)) 65.83/22.35 U32(active(x0)) 65.83/22.35 U41(mark(x0), x1) 65.83/22.35 U41(x0, mark(x1)) 65.83/22.35 U41(active(x0), x1) 65.83/22.35 U41(x0, active(x1)) 65.83/22.35 U51(mark(x0), x1, x2) 65.83/22.35 U51(x0, mark(x1), x2) 65.83/22.35 U51(x0, x1, mark(x2)) 65.83/22.35 U51(active(x0), x1, x2) 65.83/22.35 U51(x0, active(x1), x2) 65.83/22.35 U51(x0, x1, active(x2)) 65.83/22.35 U52(mark(x0), x1, x2) 65.83/22.35 U52(x0, mark(x1), x2) 65.83/22.35 U52(x0, x1, mark(x2)) 65.83/22.35 U52(active(x0), x1, x2) 65.83/22.35 U52(x0, active(x1), x2) 65.83/22.35 U52(x0, x1, active(x2)) 65.83/22.35 s(mark(x0)) 65.83/22.35 s(active(x0)) 65.83/22.35 plus(mark(x0), x1) 65.83/22.35 plus(x0, mark(x1)) 65.83/22.35 plus(active(x0), x1) 65.83/22.35 plus(x0, active(x1)) 65.83/22.35 U61(mark(x0)) 65.83/22.35 U61(active(x0)) 65.83/22.35 U71(mark(x0), x1, x2) 65.83/22.35 U71(x0, mark(x1), x2) 65.83/22.35 U71(x0, x1, mark(x2)) 65.83/22.35 U71(active(x0), x1, x2) 65.83/22.35 U71(x0, active(x1), x2) 65.83/22.35 U71(x0, x1, active(x2)) 65.83/22.35 U72(mark(x0), x1, x2) 65.83/22.35 U72(x0, mark(x1), x2) 65.83/22.35 U72(x0, x1, mark(x2)) 65.83/22.35 U72(active(x0), x1, x2) 65.83/22.35 U72(x0, active(x1), x2) 65.83/22.35 U72(x0, x1, active(x2)) 65.83/22.35 x(mark(x0), x1) 65.83/22.35 x(x0, mark(x1)) 65.83/22.35 x(active(x0), x1) 65.83/22.35 x(x0, active(x1)) 65.83/22.35 65.83/22.35 We have to consider all minimal (P,Q,R)-chains. 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (22) QReductionProof (EQUIVALENT) 65.83/22.35 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.83/22.35 65.83/22.35 U11(mark(x0), x1) 65.83/22.35 U11(x0, mark(x1)) 65.83/22.35 U11(active(x0), x1) 65.83/22.35 U11(x0, active(x1)) 65.83/22.35 U12(mark(x0)) 65.83/22.35 U12(active(x0)) 65.83/22.35 isNat(mark(x0)) 65.83/22.35 isNat(active(x0)) 65.83/22.35 U21(mark(x0)) 65.83/22.35 U21(active(x0)) 65.83/22.35 U31(mark(x0), x1) 65.83/22.35 U31(x0, mark(x1)) 65.83/22.35 U31(active(x0), x1) 65.83/22.35 U31(x0, active(x1)) 65.83/22.35 U32(mark(x0)) 65.83/22.35 U32(active(x0)) 65.83/22.35 U41(mark(x0), x1) 65.83/22.35 U41(x0, mark(x1)) 65.83/22.35 U41(active(x0), x1) 65.83/22.35 U41(x0, active(x1)) 65.83/22.35 U51(mark(x0), x1, x2) 65.83/22.35 U51(x0, mark(x1), x2) 65.83/22.35 U51(x0, x1, mark(x2)) 65.83/22.35 U51(active(x0), x1, x2) 65.83/22.35 U51(x0, active(x1), x2) 65.83/22.35 U51(x0, x1, active(x2)) 65.83/22.35 U52(mark(x0), x1, x2) 65.83/22.35 U52(x0, mark(x1), x2) 65.83/22.35 U52(x0, x1, mark(x2)) 65.83/22.35 U52(active(x0), x1, x2) 65.83/22.35 U52(x0, active(x1), x2) 65.83/22.35 U52(x0, x1, active(x2)) 65.83/22.35 s(mark(x0)) 65.83/22.35 s(active(x0)) 65.83/22.35 plus(mark(x0), x1) 65.83/22.35 plus(x0, mark(x1)) 65.83/22.35 plus(active(x0), x1) 65.83/22.35 plus(x0, active(x1)) 65.83/22.35 U61(mark(x0)) 65.83/22.35 U61(active(x0)) 65.83/22.35 U71(mark(x0), x1, x2) 65.83/22.35 U71(x0, mark(x1), x2) 65.83/22.35 U71(x0, x1, mark(x2)) 65.83/22.35 U71(active(x0), x1, x2) 65.83/22.35 U71(x0, active(x1), x2) 65.83/22.35 U71(x0, x1, active(x2)) 65.83/22.35 U72(mark(x0), x1, x2) 65.83/22.35 U72(x0, mark(x1), x2) 65.83/22.35 U72(x0, x1, mark(x2)) 65.83/22.35 U72(active(x0), x1, x2) 65.83/22.35 U72(x0, active(x1), x2) 65.83/22.35 U72(x0, x1, active(x2)) 65.83/22.35 x(mark(x0), x1) 65.83/22.35 x(x0, mark(x1)) 65.83/22.35 x(active(x0), x1) 65.83/22.35 x(x0, active(x1)) 65.83/22.35 65.83/22.35 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (23) 65.83/22.35 Obligation: 65.83/22.35 Q DP problem: 65.83/22.35 The TRS P consists of the following rules: 65.83/22.35 65.83/22.35 U71^1(X1, mark(X2), X3) -> U71^1(X1, X2, X3) 65.83/22.35 U71^1(mark(X1), X2, X3) -> U71^1(X1, X2, X3) 65.83/22.35 U71^1(X1, X2, mark(X3)) -> U71^1(X1, X2, X3) 65.83/22.35 U71^1(active(X1), X2, X3) -> U71^1(X1, X2, X3) 65.83/22.35 U71^1(X1, active(X2), X3) -> U71^1(X1, X2, X3) 65.83/22.35 U71^1(X1, X2, active(X3)) -> U71^1(X1, X2, X3) 65.83/22.35 65.83/22.35 R is empty. 65.83/22.35 The set Q consists of the following terms: 65.83/22.35 65.83/22.35 active(U11(tt, x0)) 65.83/22.35 active(U12(tt)) 65.83/22.35 active(U21(tt)) 65.83/22.35 active(U31(tt, x0)) 65.83/22.35 active(U32(tt)) 65.83/22.35 active(U41(tt, x0)) 65.83/22.35 active(U51(tt, x0, x1)) 65.83/22.35 active(U52(tt, x0, x1)) 65.83/22.35 active(U61(tt)) 65.83/22.35 active(U71(tt, x0, x1)) 65.83/22.35 active(U72(tt, x0, x1)) 65.83/22.35 active(isNat(0)) 65.83/22.35 active(isNat(plus(x0, x1))) 65.83/22.35 active(isNat(s(x0))) 65.83/22.35 active(isNat(x(x0, x1))) 65.83/22.35 active(plus(x0, 0)) 65.83/22.35 active(plus(x0, s(x1))) 65.83/22.35 active(x(x0, 0)) 65.83/22.35 active(x(x0, s(x1))) 65.83/22.35 mark(U11(x0, x1)) 65.83/22.35 mark(tt) 65.83/22.35 mark(U12(x0)) 65.83/22.35 mark(isNat(x0)) 65.83/22.35 mark(U21(x0)) 65.83/22.35 mark(U31(x0, x1)) 65.83/22.35 mark(U32(x0)) 65.83/22.35 mark(U41(x0, x1)) 65.83/22.35 mark(U51(x0, x1, x2)) 65.83/22.35 mark(U52(x0, x1, x2)) 65.83/22.35 mark(s(x0)) 65.83/22.35 mark(plus(x0, x1)) 65.83/22.35 mark(U61(x0)) 65.83/22.35 mark(0) 65.83/22.35 mark(U71(x0, x1, x2)) 65.83/22.35 mark(U72(x0, x1, x2)) 65.83/22.35 mark(x(x0, x1)) 65.83/22.35 65.83/22.35 We have to consider all minimal (P,Q,R)-chains. 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (24) QDPSizeChangeProof (EQUIVALENT) 65.83/22.35 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. 65.83/22.35 65.83/22.35 From the DPs we obtained the following set of size-change graphs: 65.83/22.35 *U71^1(X1, mark(X2), X3) -> U71^1(X1, X2, X3) 65.83/22.35 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 65.83/22.35 65.83/22.35 65.83/22.35 *U71^1(mark(X1), X2, X3) -> U71^1(X1, X2, X3) 65.83/22.35 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 65.83/22.35 65.83/22.35 65.83/22.35 *U71^1(X1, X2, mark(X3)) -> U71^1(X1, X2, X3) 65.83/22.35 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 65.83/22.35 65.83/22.35 65.83/22.35 *U71^1(active(X1), X2, X3) -> U71^1(X1, X2, X3) 65.83/22.35 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 65.83/22.35 65.83/22.35 65.83/22.35 *U71^1(X1, active(X2), X3) -> U71^1(X1, X2, X3) 65.83/22.35 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 65.83/22.35 65.83/22.35 65.83/22.35 *U71^1(X1, X2, active(X3)) -> U71^1(X1, X2, X3) 65.83/22.35 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 65.83/22.35 65.83/22.35 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (25) 65.83/22.35 YES 65.83/22.35 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (26) 65.83/22.35 Obligation: 65.83/22.35 Q DP problem: 65.83/22.35 The TRS P consists of the following rules: 65.83/22.35 65.83/22.35 U61^1(active(X)) -> U61^1(X) 65.83/22.35 U61^1(mark(X)) -> U61^1(X) 65.83/22.35 65.83/22.35 The TRS R consists of the following rules: 65.83/22.35 65.83/22.35 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.83/22.35 active(U12(tt)) -> mark(tt) 65.83/22.35 active(U21(tt)) -> mark(tt) 65.83/22.35 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.83/22.35 active(U32(tt)) -> mark(tt) 65.83/22.35 active(U41(tt, N)) -> mark(N) 65.83/22.35 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.83/22.35 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.83/22.35 active(U61(tt)) -> mark(0) 65.83/22.35 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.83/22.35 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.83/22.35 active(isNat(0)) -> mark(tt) 65.83/22.35 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.83/22.35 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.83/22.35 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.83/22.35 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.83/22.35 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.83/22.35 active(x(N, 0)) -> mark(U61(isNat(N))) 65.83/22.35 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.83/22.35 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.83/22.35 mark(tt) -> active(tt) 65.83/22.35 mark(U12(X)) -> active(U12(mark(X))) 65.83/22.35 mark(isNat(X)) -> active(isNat(X)) 65.83/22.35 mark(U21(X)) -> active(U21(mark(X))) 65.83/22.35 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.83/22.35 mark(U32(X)) -> active(U32(mark(X))) 65.83/22.35 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.83/22.35 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.83/22.35 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.83/22.35 mark(s(X)) -> active(s(mark(X))) 65.83/22.35 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.83/22.35 mark(U61(X)) -> active(U61(mark(X))) 65.83/22.35 mark(0) -> active(0) 65.83/22.35 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.83/22.35 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.83/22.35 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.83/22.35 U11(mark(X1), X2) -> U11(X1, X2) 65.83/22.35 U11(X1, mark(X2)) -> U11(X1, X2) 65.83/22.35 U11(active(X1), X2) -> U11(X1, X2) 65.83/22.35 U11(X1, active(X2)) -> U11(X1, X2) 65.83/22.35 U12(mark(X)) -> U12(X) 65.83/22.35 U12(active(X)) -> U12(X) 65.83/22.35 isNat(mark(X)) -> isNat(X) 65.83/22.35 isNat(active(X)) -> isNat(X) 65.83/22.35 U21(mark(X)) -> U21(X) 65.83/22.35 U21(active(X)) -> U21(X) 65.83/22.35 U31(mark(X1), X2) -> U31(X1, X2) 65.83/22.35 U31(X1, mark(X2)) -> U31(X1, X2) 65.83/22.35 U31(active(X1), X2) -> U31(X1, X2) 65.83/22.35 U31(X1, active(X2)) -> U31(X1, X2) 65.83/22.35 U32(mark(X)) -> U32(X) 65.83/22.35 U32(active(X)) -> U32(X) 65.83/22.35 U41(mark(X1), X2) -> U41(X1, X2) 65.83/22.35 U41(X1, mark(X2)) -> U41(X1, X2) 65.83/22.35 U41(active(X1), X2) -> U41(X1, X2) 65.83/22.35 U41(X1, active(X2)) -> U41(X1, X2) 65.83/22.35 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.35 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.83/22.35 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.83/22.35 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.35 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.83/22.35 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.83/22.35 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.35 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.83/22.35 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.83/22.35 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.35 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.83/22.35 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.83/22.35 s(mark(X)) -> s(X) 65.83/22.35 s(active(X)) -> s(X) 65.83/22.35 plus(mark(X1), X2) -> plus(X1, X2) 65.83/22.35 plus(X1, mark(X2)) -> plus(X1, X2) 65.83/22.35 plus(active(X1), X2) -> plus(X1, X2) 65.83/22.35 plus(X1, active(X2)) -> plus(X1, X2) 65.83/22.35 U61(mark(X)) -> U61(X) 65.83/22.35 U61(active(X)) -> U61(X) 65.83/22.35 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.35 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.83/22.35 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.83/22.35 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.35 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.83/22.35 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.83/22.35 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.35 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.83/22.35 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.83/22.35 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.35 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.83/22.35 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.83/22.35 x(mark(X1), X2) -> x(X1, X2) 65.83/22.35 x(X1, mark(X2)) -> x(X1, X2) 65.83/22.35 x(active(X1), X2) -> x(X1, X2) 65.83/22.35 x(X1, active(X2)) -> x(X1, X2) 65.83/22.35 65.83/22.35 The set Q consists of the following terms: 65.83/22.35 65.83/22.35 active(U11(tt, x0)) 65.83/22.35 active(U12(tt)) 65.83/22.35 active(U21(tt)) 65.83/22.35 active(U31(tt, x0)) 65.83/22.35 active(U32(tt)) 65.83/22.35 active(U41(tt, x0)) 65.83/22.35 active(U51(tt, x0, x1)) 65.83/22.35 active(U52(tt, x0, x1)) 65.83/22.35 active(U61(tt)) 65.83/22.35 active(U71(tt, x0, x1)) 65.83/22.35 active(U72(tt, x0, x1)) 65.83/22.35 active(isNat(0)) 65.83/22.35 active(isNat(plus(x0, x1))) 65.83/22.35 active(isNat(s(x0))) 65.83/22.35 active(isNat(x(x0, x1))) 65.83/22.35 active(plus(x0, 0)) 65.83/22.35 active(plus(x0, s(x1))) 65.83/22.35 active(x(x0, 0)) 65.83/22.35 active(x(x0, s(x1))) 65.83/22.35 mark(U11(x0, x1)) 65.83/22.35 mark(tt) 65.83/22.35 mark(U12(x0)) 65.83/22.35 mark(isNat(x0)) 65.83/22.35 mark(U21(x0)) 65.83/22.35 mark(U31(x0, x1)) 65.83/22.35 mark(U32(x0)) 65.83/22.35 mark(U41(x0, x1)) 65.83/22.35 mark(U51(x0, x1, x2)) 65.83/22.35 mark(U52(x0, x1, x2)) 65.83/22.35 mark(s(x0)) 65.83/22.35 mark(plus(x0, x1)) 65.83/22.35 mark(U61(x0)) 65.83/22.35 mark(0) 65.83/22.35 mark(U71(x0, x1, x2)) 65.83/22.35 mark(U72(x0, x1, x2)) 65.83/22.35 mark(x(x0, x1)) 65.83/22.35 U11(mark(x0), x1) 65.83/22.35 U11(x0, mark(x1)) 65.83/22.35 U11(active(x0), x1) 65.83/22.35 U11(x0, active(x1)) 65.83/22.35 U12(mark(x0)) 65.83/22.35 U12(active(x0)) 65.83/22.35 isNat(mark(x0)) 65.83/22.35 isNat(active(x0)) 65.83/22.35 U21(mark(x0)) 65.83/22.35 U21(active(x0)) 65.83/22.35 U31(mark(x0), x1) 65.83/22.35 U31(x0, mark(x1)) 65.83/22.35 U31(active(x0), x1) 65.83/22.35 U31(x0, active(x1)) 65.83/22.35 U32(mark(x0)) 65.83/22.35 U32(active(x0)) 65.83/22.35 U41(mark(x0), x1) 65.83/22.35 U41(x0, mark(x1)) 65.83/22.35 U41(active(x0), x1) 65.83/22.35 U41(x0, active(x1)) 65.83/22.35 U51(mark(x0), x1, x2) 65.83/22.35 U51(x0, mark(x1), x2) 65.83/22.35 U51(x0, x1, mark(x2)) 65.83/22.35 U51(active(x0), x1, x2) 65.83/22.35 U51(x0, active(x1), x2) 65.83/22.35 U51(x0, x1, active(x2)) 65.83/22.35 U52(mark(x0), x1, x2) 65.83/22.35 U52(x0, mark(x1), x2) 65.83/22.35 U52(x0, x1, mark(x2)) 65.83/22.35 U52(active(x0), x1, x2) 65.83/22.35 U52(x0, active(x1), x2) 65.83/22.35 U52(x0, x1, active(x2)) 65.83/22.35 s(mark(x0)) 65.83/22.35 s(active(x0)) 65.83/22.35 plus(mark(x0), x1) 65.83/22.35 plus(x0, mark(x1)) 65.83/22.35 plus(active(x0), x1) 65.83/22.35 plus(x0, active(x1)) 65.83/22.35 U61(mark(x0)) 65.83/22.35 U61(active(x0)) 65.83/22.35 U71(mark(x0), x1, x2) 65.83/22.35 U71(x0, mark(x1), x2) 65.83/22.35 U71(x0, x1, mark(x2)) 65.83/22.35 U71(active(x0), x1, x2) 65.83/22.35 U71(x0, active(x1), x2) 65.83/22.35 U71(x0, x1, active(x2)) 65.83/22.35 U72(mark(x0), x1, x2) 65.83/22.35 U72(x0, mark(x1), x2) 65.83/22.35 U72(x0, x1, mark(x2)) 65.83/22.35 U72(active(x0), x1, x2) 65.83/22.35 U72(x0, active(x1), x2) 65.83/22.35 U72(x0, x1, active(x2)) 65.83/22.35 x(mark(x0), x1) 65.83/22.35 x(x0, mark(x1)) 65.83/22.35 x(active(x0), x1) 65.83/22.35 x(x0, active(x1)) 65.83/22.35 65.83/22.35 We have to consider all minimal (P,Q,R)-chains. 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (27) UsableRulesProof (EQUIVALENT) 65.83/22.35 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. 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (28) 65.83/22.35 Obligation: 65.83/22.35 Q DP problem: 65.83/22.35 The TRS P consists of the following rules: 65.83/22.35 65.83/22.35 U61^1(active(X)) -> U61^1(X) 65.83/22.35 U61^1(mark(X)) -> U61^1(X) 65.83/22.35 65.83/22.35 R is empty. 65.83/22.35 The set Q consists of the following terms: 65.83/22.35 65.83/22.35 active(U11(tt, x0)) 65.83/22.35 active(U12(tt)) 65.83/22.35 active(U21(tt)) 65.83/22.35 active(U31(tt, x0)) 65.83/22.35 active(U32(tt)) 65.83/22.35 active(U41(tt, x0)) 65.83/22.35 active(U51(tt, x0, x1)) 65.83/22.35 active(U52(tt, x0, x1)) 65.83/22.35 active(U61(tt)) 65.83/22.35 active(U71(tt, x0, x1)) 65.83/22.35 active(U72(tt, x0, x1)) 65.83/22.35 active(isNat(0)) 65.83/22.35 active(isNat(plus(x0, x1))) 65.83/22.35 active(isNat(s(x0))) 65.83/22.35 active(isNat(x(x0, x1))) 65.83/22.35 active(plus(x0, 0)) 65.83/22.35 active(plus(x0, s(x1))) 65.83/22.35 active(x(x0, 0)) 65.83/22.35 active(x(x0, s(x1))) 65.83/22.35 mark(U11(x0, x1)) 65.83/22.35 mark(tt) 65.83/22.35 mark(U12(x0)) 65.83/22.35 mark(isNat(x0)) 65.83/22.35 mark(U21(x0)) 65.83/22.35 mark(U31(x0, x1)) 65.83/22.35 mark(U32(x0)) 65.83/22.35 mark(U41(x0, x1)) 65.83/22.35 mark(U51(x0, x1, x2)) 65.83/22.35 mark(U52(x0, x1, x2)) 65.83/22.35 mark(s(x0)) 65.83/22.35 mark(plus(x0, x1)) 65.83/22.35 mark(U61(x0)) 65.83/22.35 mark(0) 65.83/22.35 mark(U71(x0, x1, x2)) 65.83/22.35 mark(U72(x0, x1, x2)) 65.83/22.35 mark(x(x0, x1)) 65.83/22.35 U11(mark(x0), x1) 65.83/22.35 U11(x0, mark(x1)) 65.83/22.35 U11(active(x0), x1) 65.83/22.35 U11(x0, active(x1)) 65.83/22.35 U12(mark(x0)) 65.83/22.35 U12(active(x0)) 65.83/22.35 isNat(mark(x0)) 65.83/22.35 isNat(active(x0)) 65.83/22.35 U21(mark(x0)) 65.83/22.35 U21(active(x0)) 65.83/22.35 U31(mark(x0), x1) 65.83/22.35 U31(x0, mark(x1)) 65.83/22.35 U31(active(x0), x1) 65.83/22.35 U31(x0, active(x1)) 65.83/22.35 U32(mark(x0)) 65.83/22.35 U32(active(x0)) 65.83/22.35 U41(mark(x0), x1) 65.83/22.35 U41(x0, mark(x1)) 65.83/22.35 U41(active(x0), x1) 65.83/22.35 U41(x0, active(x1)) 65.83/22.35 U51(mark(x0), x1, x2) 65.83/22.35 U51(x0, mark(x1), x2) 65.83/22.35 U51(x0, x1, mark(x2)) 65.83/22.35 U51(active(x0), x1, x2) 65.83/22.35 U51(x0, active(x1), x2) 65.83/22.35 U51(x0, x1, active(x2)) 65.83/22.35 U52(mark(x0), x1, x2) 65.83/22.35 U52(x0, mark(x1), x2) 65.83/22.35 U52(x0, x1, mark(x2)) 65.83/22.35 U52(active(x0), x1, x2) 65.83/22.35 U52(x0, active(x1), x2) 65.83/22.35 U52(x0, x1, active(x2)) 65.83/22.35 s(mark(x0)) 65.83/22.35 s(active(x0)) 65.83/22.35 plus(mark(x0), x1) 65.83/22.35 plus(x0, mark(x1)) 65.83/22.35 plus(active(x0), x1) 65.83/22.35 plus(x0, active(x1)) 65.83/22.35 U61(mark(x0)) 65.83/22.35 U61(active(x0)) 65.83/22.35 U71(mark(x0), x1, x2) 65.83/22.35 U71(x0, mark(x1), x2) 65.83/22.35 U71(x0, x1, mark(x2)) 65.83/22.35 U71(active(x0), x1, x2) 65.83/22.35 U71(x0, active(x1), x2) 65.83/22.35 U71(x0, x1, active(x2)) 65.83/22.35 U72(mark(x0), x1, x2) 65.83/22.35 U72(x0, mark(x1), x2) 65.83/22.35 U72(x0, x1, mark(x2)) 65.83/22.35 U72(active(x0), x1, x2) 65.83/22.35 U72(x0, active(x1), x2) 65.83/22.35 U72(x0, x1, active(x2)) 65.83/22.35 x(mark(x0), x1) 65.83/22.35 x(x0, mark(x1)) 65.83/22.35 x(active(x0), x1) 65.83/22.35 x(x0, active(x1)) 65.83/22.35 65.83/22.35 We have to consider all minimal (P,Q,R)-chains. 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (29) QReductionProof (EQUIVALENT) 65.83/22.35 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.83/22.35 65.83/22.35 U11(mark(x0), x1) 65.83/22.35 U11(x0, mark(x1)) 65.83/22.35 U11(active(x0), x1) 65.83/22.35 U11(x0, active(x1)) 65.83/22.35 U12(mark(x0)) 65.83/22.35 U12(active(x0)) 65.83/22.35 isNat(mark(x0)) 65.83/22.35 isNat(active(x0)) 65.83/22.35 U21(mark(x0)) 65.83/22.35 U21(active(x0)) 65.83/22.35 U31(mark(x0), x1) 65.83/22.35 U31(x0, mark(x1)) 65.83/22.35 U31(active(x0), x1) 65.83/22.35 U31(x0, active(x1)) 65.83/22.35 U32(mark(x0)) 65.83/22.35 U32(active(x0)) 65.83/22.35 U41(mark(x0), x1) 65.83/22.35 U41(x0, mark(x1)) 65.83/22.35 U41(active(x0), x1) 65.83/22.35 U41(x0, active(x1)) 65.83/22.35 U51(mark(x0), x1, x2) 65.83/22.35 U51(x0, mark(x1), x2) 65.83/22.35 U51(x0, x1, mark(x2)) 65.83/22.35 U51(active(x0), x1, x2) 65.83/22.35 U51(x0, active(x1), x2) 65.83/22.35 U51(x0, x1, active(x2)) 65.83/22.35 U52(mark(x0), x1, x2) 65.83/22.35 U52(x0, mark(x1), x2) 65.83/22.35 U52(x0, x1, mark(x2)) 65.83/22.35 U52(active(x0), x1, x2) 65.83/22.35 U52(x0, active(x1), x2) 65.83/22.35 U52(x0, x1, active(x2)) 65.83/22.35 s(mark(x0)) 65.83/22.35 s(active(x0)) 65.83/22.35 plus(mark(x0), x1) 65.83/22.35 plus(x0, mark(x1)) 65.83/22.35 plus(active(x0), x1) 65.83/22.35 plus(x0, active(x1)) 65.83/22.35 U61(mark(x0)) 65.83/22.35 U61(active(x0)) 65.83/22.35 U71(mark(x0), x1, x2) 65.83/22.35 U71(x0, mark(x1), x2) 65.83/22.35 U71(x0, x1, mark(x2)) 65.83/22.35 U71(active(x0), x1, x2) 65.83/22.35 U71(x0, active(x1), x2) 65.83/22.35 U71(x0, x1, active(x2)) 65.83/22.35 U72(mark(x0), x1, x2) 65.83/22.35 U72(x0, mark(x1), x2) 65.83/22.35 U72(x0, x1, mark(x2)) 65.83/22.35 U72(active(x0), x1, x2) 65.83/22.35 U72(x0, active(x1), x2) 65.83/22.35 U72(x0, x1, active(x2)) 65.83/22.35 x(mark(x0), x1) 65.83/22.35 x(x0, mark(x1)) 65.83/22.35 x(active(x0), x1) 65.83/22.35 x(x0, active(x1)) 65.83/22.35 65.83/22.35 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (30) 65.83/22.35 Obligation: 65.83/22.35 Q DP problem: 65.83/22.35 The TRS P consists of the following rules: 65.83/22.35 65.83/22.35 U61^1(active(X)) -> U61^1(X) 65.83/22.35 U61^1(mark(X)) -> U61^1(X) 65.83/22.35 65.83/22.35 R is empty. 65.83/22.35 The set Q consists of the following terms: 65.83/22.35 65.83/22.35 active(U11(tt, x0)) 65.83/22.35 active(U12(tt)) 65.83/22.35 active(U21(tt)) 65.83/22.35 active(U31(tt, x0)) 65.83/22.35 active(U32(tt)) 65.83/22.35 active(U41(tt, x0)) 65.83/22.35 active(U51(tt, x0, x1)) 65.83/22.35 active(U52(tt, x0, x1)) 65.83/22.35 active(U61(tt)) 65.83/22.35 active(U71(tt, x0, x1)) 65.83/22.35 active(U72(tt, x0, x1)) 65.83/22.35 active(isNat(0)) 65.83/22.35 active(isNat(plus(x0, x1))) 65.83/22.35 active(isNat(s(x0))) 65.83/22.35 active(isNat(x(x0, x1))) 65.83/22.35 active(plus(x0, 0)) 65.83/22.35 active(plus(x0, s(x1))) 65.83/22.35 active(x(x0, 0)) 65.83/22.35 active(x(x0, s(x1))) 65.83/22.35 mark(U11(x0, x1)) 65.83/22.35 mark(tt) 65.83/22.35 mark(U12(x0)) 65.83/22.35 mark(isNat(x0)) 65.83/22.35 mark(U21(x0)) 65.83/22.35 mark(U31(x0, x1)) 65.83/22.35 mark(U32(x0)) 65.83/22.35 mark(U41(x0, x1)) 65.83/22.35 mark(U51(x0, x1, x2)) 65.83/22.35 mark(U52(x0, x1, x2)) 65.83/22.35 mark(s(x0)) 65.83/22.35 mark(plus(x0, x1)) 65.83/22.35 mark(U61(x0)) 65.83/22.35 mark(0) 65.83/22.35 mark(U71(x0, x1, x2)) 65.83/22.35 mark(U72(x0, x1, x2)) 65.83/22.35 mark(x(x0, x1)) 65.83/22.35 65.83/22.35 We have to consider all minimal (P,Q,R)-chains. 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (31) QDPSizeChangeProof (EQUIVALENT) 65.83/22.35 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. 65.83/22.35 65.83/22.35 From the DPs we obtained the following set of size-change graphs: 65.83/22.35 *U61^1(active(X)) -> U61^1(X) 65.83/22.35 The graph contains the following edges 1 > 1 65.83/22.35 65.83/22.35 65.83/22.35 *U61^1(mark(X)) -> U61^1(X) 65.83/22.35 The graph contains the following edges 1 > 1 65.83/22.35 65.83/22.35 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (32) 65.83/22.35 YES 65.83/22.35 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (33) 65.83/22.35 Obligation: 65.83/22.35 Q DP problem: 65.83/22.35 The TRS P consists of the following rules: 65.83/22.35 65.83/22.35 PLUS(X1, mark(X2)) -> PLUS(X1, X2) 65.83/22.35 PLUS(mark(X1), X2) -> PLUS(X1, X2) 65.83/22.35 PLUS(active(X1), X2) -> PLUS(X1, X2) 65.83/22.35 PLUS(X1, active(X2)) -> PLUS(X1, X2) 65.83/22.35 65.83/22.35 The TRS R consists of the following rules: 65.83/22.35 65.83/22.35 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.83/22.35 active(U12(tt)) -> mark(tt) 65.83/22.35 active(U21(tt)) -> mark(tt) 65.83/22.35 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.83/22.35 active(U32(tt)) -> mark(tt) 65.83/22.35 active(U41(tt, N)) -> mark(N) 65.83/22.35 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.83/22.35 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.83/22.35 active(U61(tt)) -> mark(0) 65.83/22.35 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.83/22.35 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.83/22.35 active(isNat(0)) -> mark(tt) 65.83/22.35 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.83/22.35 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.83/22.35 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.83/22.35 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.83/22.35 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.83/22.35 active(x(N, 0)) -> mark(U61(isNat(N))) 65.83/22.35 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.83/22.35 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.83/22.35 mark(tt) -> active(tt) 65.83/22.35 mark(U12(X)) -> active(U12(mark(X))) 65.83/22.35 mark(isNat(X)) -> active(isNat(X)) 65.83/22.35 mark(U21(X)) -> active(U21(mark(X))) 65.83/22.35 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.83/22.35 mark(U32(X)) -> active(U32(mark(X))) 65.83/22.35 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.83/22.35 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.83/22.35 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.83/22.35 mark(s(X)) -> active(s(mark(X))) 65.83/22.35 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.83/22.35 mark(U61(X)) -> active(U61(mark(X))) 65.83/22.35 mark(0) -> active(0) 65.83/22.35 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.83/22.35 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.83/22.35 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.83/22.35 U11(mark(X1), X2) -> U11(X1, X2) 65.83/22.35 U11(X1, mark(X2)) -> U11(X1, X2) 65.83/22.35 U11(active(X1), X2) -> U11(X1, X2) 65.83/22.35 U11(X1, active(X2)) -> U11(X1, X2) 65.83/22.35 U12(mark(X)) -> U12(X) 65.83/22.35 U12(active(X)) -> U12(X) 65.83/22.35 isNat(mark(X)) -> isNat(X) 65.83/22.35 isNat(active(X)) -> isNat(X) 65.83/22.35 U21(mark(X)) -> U21(X) 65.83/22.35 U21(active(X)) -> U21(X) 65.83/22.35 U31(mark(X1), X2) -> U31(X1, X2) 65.83/22.35 U31(X1, mark(X2)) -> U31(X1, X2) 65.83/22.35 U31(active(X1), X2) -> U31(X1, X2) 65.83/22.35 U31(X1, active(X2)) -> U31(X1, X2) 65.83/22.35 U32(mark(X)) -> U32(X) 65.83/22.35 U32(active(X)) -> U32(X) 65.83/22.35 U41(mark(X1), X2) -> U41(X1, X2) 65.83/22.35 U41(X1, mark(X2)) -> U41(X1, X2) 65.83/22.35 U41(active(X1), X2) -> U41(X1, X2) 65.83/22.35 U41(X1, active(X2)) -> U41(X1, X2) 65.83/22.35 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.35 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.83/22.35 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.83/22.35 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.35 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.83/22.35 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.83/22.35 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.35 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.83/22.35 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.83/22.35 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.35 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.83/22.35 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.83/22.35 s(mark(X)) -> s(X) 65.83/22.35 s(active(X)) -> s(X) 65.83/22.35 plus(mark(X1), X2) -> plus(X1, X2) 65.83/22.35 plus(X1, mark(X2)) -> plus(X1, X2) 65.83/22.35 plus(active(X1), X2) -> plus(X1, X2) 65.83/22.35 plus(X1, active(X2)) -> plus(X1, X2) 65.83/22.35 U61(mark(X)) -> U61(X) 65.83/22.35 U61(active(X)) -> U61(X) 65.83/22.35 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.35 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.83/22.35 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.83/22.35 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.35 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.83/22.35 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.83/22.35 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.35 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.83/22.35 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.83/22.35 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.35 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.83/22.35 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.83/22.35 x(mark(X1), X2) -> x(X1, X2) 65.83/22.35 x(X1, mark(X2)) -> x(X1, X2) 65.83/22.35 x(active(X1), X2) -> x(X1, X2) 65.83/22.35 x(X1, active(X2)) -> x(X1, X2) 65.83/22.35 65.83/22.35 The set Q consists of the following terms: 65.83/22.35 65.83/22.35 active(U11(tt, x0)) 65.83/22.35 active(U12(tt)) 65.83/22.35 active(U21(tt)) 65.83/22.35 active(U31(tt, x0)) 65.83/22.35 active(U32(tt)) 65.83/22.35 active(U41(tt, x0)) 65.83/22.35 active(U51(tt, x0, x1)) 65.83/22.35 active(U52(tt, x0, x1)) 65.83/22.35 active(U61(tt)) 65.83/22.35 active(U71(tt, x0, x1)) 65.83/22.35 active(U72(tt, x0, x1)) 65.83/22.35 active(isNat(0)) 65.83/22.35 active(isNat(plus(x0, x1))) 65.83/22.35 active(isNat(s(x0))) 65.83/22.35 active(isNat(x(x0, x1))) 65.83/22.35 active(plus(x0, 0)) 65.83/22.35 active(plus(x0, s(x1))) 65.83/22.35 active(x(x0, 0)) 65.83/22.35 active(x(x0, s(x1))) 65.83/22.35 mark(U11(x0, x1)) 65.83/22.35 mark(tt) 65.83/22.35 mark(U12(x0)) 65.83/22.35 mark(isNat(x0)) 65.83/22.35 mark(U21(x0)) 65.83/22.35 mark(U31(x0, x1)) 65.83/22.35 mark(U32(x0)) 65.83/22.35 mark(U41(x0, x1)) 65.83/22.35 mark(U51(x0, x1, x2)) 65.83/22.35 mark(U52(x0, x1, x2)) 65.83/22.35 mark(s(x0)) 65.83/22.35 mark(plus(x0, x1)) 65.83/22.35 mark(U61(x0)) 65.83/22.35 mark(0) 65.83/22.35 mark(U71(x0, x1, x2)) 65.83/22.35 mark(U72(x0, x1, x2)) 65.83/22.35 mark(x(x0, x1)) 65.83/22.35 U11(mark(x0), x1) 65.83/22.35 U11(x0, mark(x1)) 65.83/22.35 U11(active(x0), x1) 65.83/22.35 U11(x0, active(x1)) 65.83/22.35 U12(mark(x0)) 65.83/22.35 U12(active(x0)) 65.83/22.35 isNat(mark(x0)) 65.83/22.35 isNat(active(x0)) 65.83/22.35 U21(mark(x0)) 65.83/22.35 U21(active(x0)) 65.83/22.35 U31(mark(x0), x1) 65.83/22.35 U31(x0, mark(x1)) 65.83/22.35 U31(active(x0), x1) 65.83/22.35 U31(x0, active(x1)) 65.83/22.35 U32(mark(x0)) 65.83/22.35 U32(active(x0)) 65.83/22.35 U41(mark(x0), x1) 65.83/22.35 U41(x0, mark(x1)) 65.83/22.35 U41(active(x0), x1) 65.83/22.35 U41(x0, active(x1)) 65.83/22.35 U51(mark(x0), x1, x2) 65.83/22.35 U51(x0, mark(x1), x2) 65.83/22.35 U51(x0, x1, mark(x2)) 65.83/22.35 U51(active(x0), x1, x2) 65.83/22.35 U51(x0, active(x1), x2) 65.83/22.35 U51(x0, x1, active(x2)) 65.83/22.35 U52(mark(x0), x1, x2) 65.83/22.35 U52(x0, mark(x1), x2) 65.83/22.35 U52(x0, x1, mark(x2)) 65.83/22.35 U52(active(x0), x1, x2) 65.83/22.35 U52(x0, active(x1), x2) 65.83/22.35 U52(x0, x1, active(x2)) 65.83/22.35 s(mark(x0)) 65.83/22.35 s(active(x0)) 65.83/22.35 plus(mark(x0), x1) 65.83/22.35 plus(x0, mark(x1)) 65.83/22.35 plus(active(x0), x1) 65.83/22.35 plus(x0, active(x1)) 65.83/22.35 U61(mark(x0)) 65.83/22.35 U61(active(x0)) 65.83/22.35 U71(mark(x0), x1, x2) 65.83/22.35 U71(x0, mark(x1), x2) 65.83/22.35 U71(x0, x1, mark(x2)) 65.83/22.35 U71(active(x0), x1, x2) 65.83/22.35 U71(x0, active(x1), x2) 65.83/22.35 U71(x0, x1, active(x2)) 65.83/22.35 U72(mark(x0), x1, x2) 65.83/22.35 U72(x0, mark(x1), x2) 65.83/22.35 U72(x0, x1, mark(x2)) 65.83/22.35 U72(active(x0), x1, x2) 65.83/22.35 U72(x0, active(x1), x2) 65.83/22.35 U72(x0, x1, active(x2)) 65.83/22.35 x(mark(x0), x1) 65.83/22.35 x(x0, mark(x1)) 65.83/22.35 x(active(x0), x1) 65.83/22.35 x(x0, active(x1)) 65.83/22.35 65.83/22.35 We have to consider all minimal (P,Q,R)-chains. 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (34) UsableRulesProof (EQUIVALENT) 65.83/22.35 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. 65.83/22.35 ---------------------------------------- 65.83/22.35 65.83/22.35 (35) 65.83/22.35 Obligation: 65.83/22.35 Q DP problem: 65.83/22.35 The TRS P consists of the following rules: 65.83/22.35 65.83/22.35 PLUS(X1, mark(X2)) -> PLUS(X1, X2) 65.83/22.35 PLUS(mark(X1), X2) -> PLUS(X1, X2) 65.83/22.35 PLUS(active(X1), X2) -> PLUS(X1, X2) 65.83/22.35 PLUS(X1, active(X2)) -> PLUS(X1, X2) 65.83/22.35 65.83/22.35 R is empty. 65.83/22.35 The set Q consists of the following terms: 65.83/22.35 65.83/22.35 active(U11(tt, x0)) 65.83/22.35 active(U12(tt)) 65.83/22.35 active(U21(tt)) 65.83/22.35 active(U31(tt, x0)) 65.83/22.35 active(U32(tt)) 65.83/22.35 active(U41(tt, x0)) 65.83/22.35 active(U51(tt, x0, x1)) 65.83/22.35 active(U52(tt, x0, x1)) 65.83/22.35 active(U61(tt)) 65.83/22.35 active(U71(tt, x0, x1)) 65.83/22.35 active(U72(tt, x0, x1)) 65.83/22.35 active(isNat(0)) 65.83/22.35 active(isNat(plus(x0, x1))) 65.83/22.35 active(isNat(s(x0))) 65.83/22.35 active(isNat(x(x0, x1))) 65.83/22.35 active(plus(x0, 0)) 65.83/22.35 active(plus(x0, s(x1))) 65.83/22.35 active(x(x0, 0)) 65.83/22.35 active(x(x0, s(x1))) 65.83/22.35 mark(U11(x0, x1)) 65.83/22.35 mark(tt) 65.83/22.35 mark(U12(x0)) 65.83/22.35 mark(isNat(x0)) 65.83/22.35 mark(U21(x0)) 65.83/22.35 mark(U31(x0, x1)) 65.83/22.35 mark(U32(x0)) 65.83/22.35 mark(U41(x0, x1)) 65.83/22.35 mark(U51(x0, x1, x2)) 65.83/22.35 mark(U52(x0, x1, x2)) 65.83/22.35 mark(s(x0)) 65.83/22.35 mark(plus(x0, x1)) 65.83/22.35 mark(U61(x0)) 65.83/22.35 mark(0) 65.83/22.35 mark(U71(x0, x1, x2)) 65.83/22.35 mark(U72(x0, x1, x2)) 65.83/22.35 mark(x(x0, x1)) 65.83/22.35 U11(mark(x0), x1) 65.83/22.35 U11(x0, mark(x1)) 65.83/22.35 U11(active(x0), x1) 65.83/22.35 U11(x0, active(x1)) 65.83/22.35 U12(mark(x0)) 65.83/22.35 U12(active(x0)) 65.83/22.35 isNat(mark(x0)) 65.83/22.35 isNat(active(x0)) 65.83/22.35 U21(mark(x0)) 65.83/22.35 U21(active(x0)) 65.83/22.35 U31(mark(x0), x1) 65.83/22.35 U31(x0, mark(x1)) 65.83/22.35 U31(active(x0), x1) 65.83/22.35 U31(x0, active(x1)) 65.83/22.35 U32(mark(x0)) 65.83/22.35 U32(active(x0)) 65.83/22.35 U41(mark(x0), x1) 65.83/22.35 U41(x0, mark(x1)) 65.83/22.35 U41(active(x0), x1) 65.83/22.35 U41(x0, active(x1)) 65.83/22.35 U51(mark(x0), x1, x2) 65.83/22.35 U51(x0, mark(x1), x2) 65.83/22.35 U51(x0, x1, mark(x2)) 65.83/22.35 U51(active(x0), x1, x2) 65.83/22.35 U51(x0, active(x1), x2) 65.83/22.35 U51(x0, x1, active(x2)) 65.83/22.35 U52(mark(x0), x1, x2) 65.83/22.35 U52(x0, mark(x1), x2) 65.83/22.35 U52(x0, x1, mark(x2)) 65.83/22.35 U52(active(x0), x1, x2) 65.83/22.35 U52(x0, active(x1), x2) 65.83/22.35 U52(x0, x1, active(x2)) 65.83/22.35 s(mark(x0)) 65.83/22.35 s(active(x0)) 65.83/22.36 plus(mark(x0), x1) 65.83/22.36 plus(x0, mark(x1)) 65.83/22.36 plus(active(x0), x1) 65.83/22.36 plus(x0, active(x1)) 65.83/22.36 U61(mark(x0)) 65.83/22.36 U61(active(x0)) 65.83/22.36 U71(mark(x0), x1, x2) 65.83/22.36 U71(x0, mark(x1), x2) 65.83/22.36 U71(x0, x1, mark(x2)) 65.83/22.36 U71(active(x0), x1, x2) 65.83/22.36 U71(x0, active(x1), x2) 65.83/22.36 U71(x0, x1, active(x2)) 65.83/22.36 U72(mark(x0), x1, x2) 65.83/22.36 U72(x0, mark(x1), x2) 65.83/22.36 U72(x0, x1, mark(x2)) 65.83/22.36 U72(active(x0), x1, x2) 65.83/22.36 U72(x0, active(x1), x2) 65.83/22.36 U72(x0, x1, active(x2)) 65.83/22.36 x(mark(x0), x1) 65.83/22.36 x(x0, mark(x1)) 65.83/22.36 x(active(x0), x1) 65.83/22.36 x(x0, active(x1)) 65.83/22.36 65.83/22.36 We have to consider all minimal (P,Q,R)-chains. 65.83/22.36 ---------------------------------------- 65.83/22.36 65.83/22.36 (36) QReductionProof (EQUIVALENT) 65.83/22.36 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.83/22.36 65.83/22.36 U11(mark(x0), x1) 65.83/22.36 U11(x0, mark(x1)) 65.83/22.36 U11(active(x0), x1) 65.83/22.36 U11(x0, active(x1)) 65.83/22.36 U12(mark(x0)) 65.83/22.36 U12(active(x0)) 65.83/22.36 isNat(mark(x0)) 65.83/22.36 isNat(active(x0)) 65.83/22.36 U21(mark(x0)) 65.83/22.36 U21(active(x0)) 65.83/22.36 U31(mark(x0), x1) 65.83/22.36 U31(x0, mark(x1)) 65.83/22.36 U31(active(x0), x1) 65.83/22.36 U31(x0, active(x1)) 65.83/22.36 U32(mark(x0)) 65.83/22.36 U32(active(x0)) 65.83/22.36 U41(mark(x0), x1) 65.83/22.36 U41(x0, mark(x1)) 65.83/22.36 U41(active(x0), x1) 65.83/22.36 U41(x0, active(x1)) 65.83/22.36 U51(mark(x0), x1, x2) 65.83/22.36 U51(x0, mark(x1), x2) 65.83/22.36 U51(x0, x1, mark(x2)) 65.83/22.36 U51(active(x0), x1, x2) 65.83/22.36 U51(x0, active(x1), x2) 65.83/22.36 U51(x0, x1, active(x2)) 65.83/22.36 U52(mark(x0), x1, x2) 65.83/22.36 U52(x0, mark(x1), x2) 65.83/22.36 U52(x0, x1, mark(x2)) 65.83/22.36 U52(active(x0), x1, x2) 65.83/22.36 U52(x0, active(x1), x2) 65.83/22.36 U52(x0, x1, active(x2)) 65.83/22.36 s(mark(x0)) 65.83/22.36 s(active(x0)) 65.83/22.36 plus(mark(x0), x1) 65.83/22.36 plus(x0, mark(x1)) 65.83/22.36 plus(active(x0), x1) 65.83/22.36 plus(x0, active(x1)) 65.83/22.36 U61(mark(x0)) 65.83/22.36 U61(active(x0)) 65.83/22.36 U71(mark(x0), x1, x2) 65.83/22.36 U71(x0, mark(x1), x2) 65.83/22.36 U71(x0, x1, mark(x2)) 65.83/22.36 U71(active(x0), x1, x2) 65.83/22.36 U71(x0, active(x1), x2) 65.83/22.36 U71(x0, x1, active(x2)) 65.83/22.36 U72(mark(x0), x1, x2) 65.83/22.36 U72(x0, mark(x1), x2) 65.83/22.36 U72(x0, x1, mark(x2)) 65.83/22.36 U72(active(x0), x1, x2) 65.83/22.36 U72(x0, active(x1), x2) 65.83/22.36 U72(x0, x1, active(x2)) 65.83/22.36 x(mark(x0), x1) 65.83/22.36 x(x0, mark(x1)) 65.83/22.36 x(active(x0), x1) 65.83/22.36 x(x0, active(x1)) 65.83/22.36 65.83/22.36 65.83/22.36 ---------------------------------------- 65.83/22.36 65.83/22.36 (37) 65.83/22.36 Obligation: 65.83/22.36 Q DP problem: 65.83/22.36 The TRS P consists of the following rules: 65.83/22.36 65.83/22.36 PLUS(X1, mark(X2)) -> PLUS(X1, X2) 65.83/22.36 PLUS(mark(X1), X2) -> PLUS(X1, X2) 65.83/22.36 PLUS(active(X1), X2) -> PLUS(X1, X2) 65.83/22.36 PLUS(X1, active(X2)) -> PLUS(X1, X2) 65.83/22.36 65.83/22.36 R is empty. 65.83/22.36 The set Q consists of the following terms: 65.83/22.36 65.83/22.36 active(U11(tt, x0)) 65.83/22.36 active(U12(tt)) 65.83/22.36 active(U21(tt)) 65.83/22.36 active(U31(tt, x0)) 65.83/22.36 active(U32(tt)) 65.83/22.36 active(U41(tt, x0)) 65.83/22.36 active(U51(tt, x0, x1)) 65.83/22.36 active(U52(tt, x0, x1)) 65.83/22.36 active(U61(tt)) 65.83/22.36 active(U71(tt, x0, x1)) 65.83/22.36 active(U72(tt, x0, x1)) 65.83/22.36 active(isNat(0)) 65.83/22.36 active(isNat(plus(x0, x1))) 65.83/22.36 active(isNat(s(x0))) 65.83/22.36 active(isNat(x(x0, x1))) 65.83/22.36 active(plus(x0, 0)) 65.83/22.36 active(plus(x0, s(x1))) 65.83/22.36 active(x(x0, 0)) 65.83/22.36 active(x(x0, s(x1))) 65.83/22.36 mark(U11(x0, x1)) 65.83/22.36 mark(tt) 65.83/22.36 mark(U12(x0)) 65.83/22.36 mark(isNat(x0)) 65.83/22.36 mark(U21(x0)) 65.83/22.36 mark(U31(x0, x1)) 65.83/22.36 mark(U32(x0)) 65.83/22.36 mark(U41(x0, x1)) 65.83/22.36 mark(U51(x0, x1, x2)) 65.83/22.36 mark(U52(x0, x1, x2)) 65.83/22.36 mark(s(x0)) 65.83/22.36 mark(plus(x0, x1)) 65.83/22.36 mark(U61(x0)) 65.83/22.36 mark(0) 65.83/22.36 mark(U71(x0, x1, x2)) 65.83/22.36 mark(U72(x0, x1, x2)) 65.83/22.36 mark(x(x0, x1)) 65.83/22.36 65.83/22.36 We have to consider all minimal (P,Q,R)-chains. 65.83/22.36 ---------------------------------------- 65.83/22.36 65.83/22.36 (38) QDPSizeChangeProof (EQUIVALENT) 65.83/22.36 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. 65.83/22.36 65.83/22.36 From the DPs we obtained the following set of size-change graphs: 65.83/22.36 *PLUS(X1, mark(X2)) -> PLUS(X1, X2) 65.83/22.36 The graph contains the following edges 1 >= 1, 2 > 2 65.83/22.36 65.83/22.36 65.83/22.36 *PLUS(mark(X1), X2) -> PLUS(X1, X2) 65.83/22.36 The graph contains the following edges 1 > 1, 2 >= 2 65.83/22.36 65.83/22.36 65.83/22.36 *PLUS(active(X1), X2) -> PLUS(X1, X2) 65.83/22.36 The graph contains the following edges 1 > 1, 2 >= 2 65.83/22.36 65.83/22.36 65.83/22.36 *PLUS(X1, active(X2)) -> PLUS(X1, X2) 65.83/22.36 The graph contains the following edges 1 >= 1, 2 > 2 65.83/22.36 65.83/22.36 65.83/22.36 ---------------------------------------- 65.83/22.36 65.83/22.36 (39) 65.83/22.36 YES 65.83/22.36 65.83/22.36 ---------------------------------------- 65.83/22.36 65.83/22.36 (40) 65.83/22.36 Obligation: 65.83/22.36 Q DP problem: 65.83/22.36 The TRS P consists of the following rules: 65.83/22.36 65.83/22.36 S(active(X)) -> S(X) 65.83/22.36 S(mark(X)) -> S(X) 65.83/22.36 65.83/22.36 The TRS R consists of the following rules: 65.83/22.36 65.83/22.36 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.83/22.36 active(U12(tt)) -> mark(tt) 65.83/22.36 active(U21(tt)) -> mark(tt) 65.83/22.36 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.83/22.36 active(U32(tt)) -> mark(tt) 65.83/22.36 active(U41(tt, N)) -> mark(N) 65.83/22.36 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.83/22.36 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.83/22.36 active(U61(tt)) -> mark(0) 65.83/22.36 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.83/22.36 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.83/22.36 active(isNat(0)) -> mark(tt) 65.83/22.36 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.83/22.36 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.83/22.36 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.83/22.36 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.83/22.36 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.83/22.36 active(x(N, 0)) -> mark(U61(isNat(N))) 65.83/22.36 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.83/22.36 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.83/22.36 mark(tt) -> active(tt) 65.83/22.36 mark(U12(X)) -> active(U12(mark(X))) 65.83/22.36 mark(isNat(X)) -> active(isNat(X)) 65.83/22.36 mark(U21(X)) -> active(U21(mark(X))) 65.83/22.36 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.83/22.36 mark(U32(X)) -> active(U32(mark(X))) 65.83/22.36 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.83/22.36 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.83/22.36 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.83/22.36 mark(s(X)) -> active(s(mark(X))) 65.83/22.36 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.83/22.36 mark(U61(X)) -> active(U61(mark(X))) 65.83/22.36 mark(0) -> active(0) 65.83/22.36 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.83/22.36 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.83/22.36 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.83/22.36 U11(mark(X1), X2) -> U11(X1, X2) 65.83/22.36 U11(X1, mark(X2)) -> U11(X1, X2) 65.83/22.36 U11(active(X1), X2) -> U11(X1, X2) 65.83/22.36 U11(X1, active(X2)) -> U11(X1, X2) 65.83/22.36 U12(mark(X)) -> U12(X) 65.83/22.36 U12(active(X)) -> U12(X) 65.83/22.36 isNat(mark(X)) -> isNat(X) 65.83/22.36 isNat(active(X)) -> isNat(X) 65.83/22.36 U21(mark(X)) -> U21(X) 65.83/22.36 U21(active(X)) -> U21(X) 65.83/22.36 U31(mark(X1), X2) -> U31(X1, X2) 65.83/22.36 U31(X1, mark(X2)) -> U31(X1, X2) 65.83/22.36 U31(active(X1), X2) -> U31(X1, X2) 65.83/22.36 U31(X1, active(X2)) -> U31(X1, X2) 65.83/22.36 U32(mark(X)) -> U32(X) 65.83/22.36 U32(active(X)) -> U32(X) 65.83/22.36 U41(mark(X1), X2) -> U41(X1, X2) 65.83/22.36 U41(X1, mark(X2)) -> U41(X1, X2) 65.83/22.36 U41(active(X1), X2) -> U41(X1, X2) 65.83/22.36 U41(X1, active(X2)) -> U41(X1, X2) 65.83/22.36 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.36 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.83/22.36 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.83/22.36 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.36 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.83/22.36 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.83/22.36 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.36 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.83/22.36 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.83/22.36 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.36 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.83/22.36 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.83/22.36 s(mark(X)) -> s(X) 65.83/22.36 s(active(X)) -> s(X) 65.83/22.36 plus(mark(X1), X2) -> plus(X1, X2) 65.83/22.36 plus(X1, mark(X2)) -> plus(X1, X2) 65.83/22.36 plus(active(X1), X2) -> plus(X1, X2) 65.83/22.36 plus(X1, active(X2)) -> plus(X1, X2) 65.83/22.36 U61(mark(X)) -> U61(X) 65.83/22.36 U61(active(X)) -> U61(X) 65.83/22.36 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.36 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.83/22.36 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.83/22.36 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.36 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.83/22.36 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.83/22.36 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.36 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.83/22.36 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.83/22.36 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.36 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.83/22.36 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.83/22.36 x(mark(X1), X2) -> x(X1, X2) 65.83/22.36 x(X1, mark(X2)) -> x(X1, X2) 65.83/22.36 x(active(X1), X2) -> x(X1, X2) 65.83/22.36 x(X1, active(X2)) -> x(X1, X2) 65.83/22.36 65.83/22.36 The set Q consists of the following terms: 65.83/22.36 65.83/22.36 active(U11(tt, x0)) 65.83/22.36 active(U12(tt)) 65.83/22.36 active(U21(tt)) 65.83/22.36 active(U31(tt, x0)) 65.83/22.36 active(U32(tt)) 65.83/22.36 active(U41(tt, x0)) 65.83/22.36 active(U51(tt, x0, x1)) 65.83/22.36 active(U52(tt, x0, x1)) 65.83/22.36 active(U61(tt)) 65.83/22.36 active(U71(tt, x0, x1)) 65.83/22.36 active(U72(tt, x0, x1)) 65.83/22.36 active(isNat(0)) 65.83/22.36 active(isNat(plus(x0, x1))) 65.83/22.36 active(isNat(s(x0))) 65.83/22.36 active(isNat(x(x0, x1))) 65.83/22.36 active(plus(x0, 0)) 65.83/22.36 active(plus(x0, s(x1))) 65.83/22.36 active(x(x0, 0)) 65.83/22.36 active(x(x0, s(x1))) 65.83/22.36 mark(U11(x0, x1)) 65.83/22.36 mark(tt) 65.83/22.36 mark(U12(x0)) 65.83/22.36 mark(isNat(x0)) 65.83/22.36 mark(U21(x0)) 65.83/22.36 mark(U31(x0, x1)) 65.83/22.36 mark(U32(x0)) 65.83/22.36 mark(U41(x0, x1)) 65.83/22.36 mark(U51(x0, x1, x2)) 65.83/22.36 mark(U52(x0, x1, x2)) 65.83/22.36 mark(s(x0)) 65.83/22.36 mark(plus(x0, x1)) 65.83/22.36 mark(U61(x0)) 65.83/22.36 mark(0) 65.83/22.36 mark(U71(x0, x1, x2)) 65.83/22.36 mark(U72(x0, x1, x2)) 65.83/22.36 mark(x(x0, x1)) 65.83/22.36 U11(mark(x0), x1) 65.83/22.36 U11(x0, mark(x1)) 65.83/22.36 U11(active(x0), x1) 65.83/22.36 U11(x0, active(x1)) 65.83/22.36 U12(mark(x0)) 65.83/22.36 U12(active(x0)) 65.83/22.36 isNat(mark(x0)) 65.83/22.36 isNat(active(x0)) 65.83/22.36 U21(mark(x0)) 65.83/22.36 U21(active(x0)) 65.83/22.36 U31(mark(x0), x1) 65.83/22.36 U31(x0, mark(x1)) 65.83/22.36 U31(active(x0), x1) 65.83/22.36 U31(x0, active(x1)) 65.83/22.36 U32(mark(x0)) 65.83/22.36 U32(active(x0)) 65.83/22.36 U41(mark(x0), x1) 65.83/22.36 U41(x0, mark(x1)) 65.83/22.36 U41(active(x0), x1) 65.83/22.36 U41(x0, active(x1)) 65.83/22.36 U51(mark(x0), x1, x2) 65.83/22.36 U51(x0, mark(x1), x2) 65.83/22.36 U51(x0, x1, mark(x2)) 65.83/22.36 U51(active(x0), x1, x2) 65.83/22.36 U51(x0, active(x1), x2) 65.83/22.36 U51(x0, x1, active(x2)) 65.83/22.36 U52(mark(x0), x1, x2) 65.83/22.36 U52(x0, mark(x1), x2) 65.83/22.36 U52(x0, x1, mark(x2)) 65.83/22.36 U52(active(x0), x1, x2) 65.83/22.36 U52(x0, active(x1), x2) 65.83/22.36 U52(x0, x1, active(x2)) 65.83/22.36 s(mark(x0)) 65.83/22.36 s(active(x0)) 65.83/22.36 plus(mark(x0), x1) 65.83/22.36 plus(x0, mark(x1)) 65.83/22.36 plus(active(x0), x1) 65.83/22.36 plus(x0, active(x1)) 65.83/22.36 U61(mark(x0)) 65.83/22.36 U61(active(x0)) 65.83/22.36 U71(mark(x0), x1, x2) 65.83/22.36 U71(x0, mark(x1), x2) 65.83/22.36 U71(x0, x1, mark(x2)) 65.83/22.36 U71(active(x0), x1, x2) 65.83/22.36 U71(x0, active(x1), x2) 65.83/22.36 U71(x0, x1, active(x2)) 65.83/22.36 U72(mark(x0), x1, x2) 65.83/22.36 U72(x0, mark(x1), x2) 65.83/22.36 U72(x0, x1, mark(x2)) 65.83/22.36 U72(active(x0), x1, x2) 65.83/22.36 U72(x0, active(x1), x2) 65.83/22.36 U72(x0, x1, active(x2)) 65.83/22.36 x(mark(x0), x1) 65.83/22.36 x(x0, mark(x1)) 65.83/22.36 x(active(x0), x1) 65.83/22.36 x(x0, active(x1)) 65.83/22.36 65.83/22.36 We have to consider all minimal (P,Q,R)-chains. 65.83/22.36 ---------------------------------------- 65.83/22.36 65.83/22.36 (41) UsableRulesProof (EQUIVALENT) 65.83/22.36 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. 65.83/22.36 ---------------------------------------- 65.83/22.36 65.83/22.36 (42) 65.83/22.36 Obligation: 65.83/22.36 Q DP problem: 65.83/22.36 The TRS P consists of the following rules: 65.83/22.36 65.83/22.36 S(active(X)) -> S(X) 65.83/22.36 S(mark(X)) -> S(X) 65.83/22.36 65.83/22.36 R is empty. 65.83/22.36 The set Q consists of the following terms: 65.83/22.36 65.83/22.36 active(U11(tt, x0)) 65.83/22.36 active(U12(tt)) 65.83/22.36 active(U21(tt)) 65.83/22.36 active(U31(tt, x0)) 65.83/22.36 active(U32(tt)) 65.83/22.36 active(U41(tt, x0)) 65.83/22.36 active(U51(tt, x0, x1)) 65.83/22.36 active(U52(tt, x0, x1)) 65.83/22.36 active(U61(tt)) 65.83/22.36 active(U71(tt, x0, x1)) 65.83/22.36 active(U72(tt, x0, x1)) 65.83/22.36 active(isNat(0)) 65.83/22.36 active(isNat(plus(x0, x1))) 65.83/22.36 active(isNat(s(x0))) 65.83/22.36 active(isNat(x(x0, x1))) 65.83/22.36 active(plus(x0, 0)) 65.83/22.36 active(plus(x0, s(x1))) 65.83/22.36 active(x(x0, 0)) 65.83/22.36 active(x(x0, s(x1))) 65.83/22.36 mark(U11(x0, x1)) 65.83/22.36 mark(tt) 65.83/22.36 mark(U12(x0)) 65.83/22.36 mark(isNat(x0)) 65.83/22.36 mark(U21(x0)) 65.83/22.36 mark(U31(x0, x1)) 65.83/22.36 mark(U32(x0)) 65.83/22.36 mark(U41(x0, x1)) 65.83/22.36 mark(U51(x0, x1, x2)) 65.83/22.36 mark(U52(x0, x1, x2)) 65.83/22.36 mark(s(x0)) 65.83/22.36 mark(plus(x0, x1)) 65.83/22.36 mark(U61(x0)) 65.83/22.36 mark(0) 65.83/22.36 mark(U71(x0, x1, x2)) 65.83/22.36 mark(U72(x0, x1, x2)) 65.83/22.36 mark(x(x0, x1)) 65.83/22.36 U11(mark(x0), x1) 65.83/22.36 U11(x0, mark(x1)) 65.83/22.36 U11(active(x0), x1) 65.83/22.36 U11(x0, active(x1)) 65.83/22.36 U12(mark(x0)) 65.83/22.36 U12(active(x0)) 65.83/22.36 isNat(mark(x0)) 65.83/22.36 isNat(active(x0)) 65.83/22.36 U21(mark(x0)) 65.83/22.36 U21(active(x0)) 65.83/22.36 U31(mark(x0), x1) 65.83/22.36 U31(x0, mark(x1)) 65.83/22.36 U31(active(x0), x1) 65.83/22.36 U31(x0, active(x1)) 65.83/22.36 U32(mark(x0)) 65.83/22.36 U32(active(x0)) 65.83/22.36 U41(mark(x0), x1) 65.83/22.36 U41(x0, mark(x1)) 65.83/22.36 U41(active(x0), x1) 65.83/22.36 U41(x0, active(x1)) 65.83/22.36 U51(mark(x0), x1, x2) 65.83/22.36 U51(x0, mark(x1), x2) 65.83/22.36 U51(x0, x1, mark(x2)) 65.83/22.36 U51(active(x0), x1, x2) 65.83/22.36 U51(x0, active(x1), x2) 65.83/22.36 U51(x0, x1, active(x2)) 65.83/22.36 U52(mark(x0), x1, x2) 65.83/22.36 U52(x0, mark(x1), x2) 65.83/22.36 U52(x0, x1, mark(x2)) 65.83/22.36 U52(active(x0), x1, x2) 65.83/22.36 U52(x0, active(x1), x2) 65.83/22.36 U52(x0, x1, active(x2)) 65.83/22.36 s(mark(x0)) 65.83/22.36 s(active(x0)) 65.83/22.36 plus(mark(x0), x1) 65.83/22.36 plus(x0, mark(x1)) 65.83/22.36 plus(active(x0), x1) 65.83/22.36 plus(x0, active(x1)) 65.83/22.36 U61(mark(x0)) 65.83/22.36 U61(active(x0)) 65.83/22.36 U71(mark(x0), x1, x2) 65.83/22.36 U71(x0, mark(x1), x2) 65.83/22.36 U71(x0, x1, mark(x2)) 65.83/22.36 U71(active(x0), x1, x2) 65.83/22.36 U71(x0, active(x1), x2) 65.83/22.36 U71(x0, x1, active(x2)) 65.83/22.36 U72(mark(x0), x1, x2) 65.83/22.36 U72(x0, mark(x1), x2) 65.83/22.36 U72(x0, x1, mark(x2)) 65.83/22.36 U72(active(x0), x1, x2) 65.83/22.36 U72(x0, active(x1), x2) 65.83/22.36 U72(x0, x1, active(x2)) 65.83/22.36 x(mark(x0), x1) 65.83/22.36 x(x0, mark(x1)) 65.83/22.36 x(active(x0), x1) 65.83/22.36 x(x0, active(x1)) 65.83/22.36 65.83/22.36 We have to consider all minimal (P,Q,R)-chains. 65.83/22.36 ---------------------------------------- 65.83/22.36 65.83/22.36 (43) QReductionProof (EQUIVALENT) 65.83/22.36 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.83/22.36 65.83/22.36 U11(mark(x0), x1) 65.83/22.36 U11(x0, mark(x1)) 65.83/22.36 U11(active(x0), x1) 65.83/22.36 U11(x0, active(x1)) 65.83/22.36 U12(mark(x0)) 65.83/22.36 U12(active(x0)) 65.83/22.36 isNat(mark(x0)) 65.83/22.36 isNat(active(x0)) 65.83/22.36 U21(mark(x0)) 65.83/22.36 U21(active(x0)) 65.83/22.36 U31(mark(x0), x1) 65.83/22.36 U31(x0, mark(x1)) 65.83/22.36 U31(active(x0), x1) 65.83/22.36 U31(x0, active(x1)) 65.83/22.36 U32(mark(x0)) 65.83/22.36 U32(active(x0)) 65.83/22.36 U41(mark(x0), x1) 65.83/22.36 U41(x0, mark(x1)) 65.83/22.36 U41(active(x0), x1) 65.83/22.36 U41(x0, active(x1)) 65.83/22.36 U51(mark(x0), x1, x2) 65.83/22.36 U51(x0, mark(x1), x2) 65.83/22.36 U51(x0, x1, mark(x2)) 65.83/22.36 U51(active(x0), x1, x2) 65.83/22.36 U51(x0, active(x1), x2) 65.83/22.36 U51(x0, x1, active(x2)) 65.83/22.36 U52(mark(x0), x1, x2) 65.83/22.36 U52(x0, mark(x1), x2) 65.83/22.36 U52(x0, x1, mark(x2)) 65.83/22.36 U52(active(x0), x1, x2) 65.83/22.36 U52(x0, active(x1), x2) 65.83/22.36 U52(x0, x1, active(x2)) 65.83/22.36 s(mark(x0)) 65.83/22.36 s(active(x0)) 65.83/22.36 plus(mark(x0), x1) 65.83/22.36 plus(x0, mark(x1)) 65.83/22.36 plus(active(x0), x1) 65.83/22.36 plus(x0, active(x1)) 65.83/22.36 U61(mark(x0)) 65.83/22.36 U61(active(x0)) 65.83/22.36 U71(mark(x0), x1, x2) 65.83/22.36 U71(x0, mark(x1), x2) 65.83/22.36 U71(x0, x1, mark(x2)) 65.83/22.36 U71(active(x0), x1, x2) 65.83/22.36 U71(x0, active(x1), x2) 65.83/22.36 U71(x0, x1, active(x2)) 65.83/22.36 U72(mark(x0), x1, x2) 65.83/22.36 U72(x0, mark(x1), x2) 65.83/22.36 U72(x0, x1, mark(x2)) 65.83/22.36 U72(active(x0), x1, x2) 65.83/22.36 U72(x0, active(x1), x2) 65.83/22.36 U72(x0, x1, active(x2)) 65.83/22.36 x(mark(x0), x1) 65.83/22.36 x(x0, mark(x1)) 65.83/22.36 x(active(x0), x1) 65.83/22.36 x(x0, active(x1)) 65.83/22.36 65.83/22.36 65.83/22.36 ---------------------------------------- 65.83/22.36 65.83/22.36 (44) 65.83/22.36 Obligation: 65.83/22.36 Q DP problem: 65.83/22.36 The TRS P consists of the following rules: 65.83/22.36 65.83/22.36 S(active(X)) -> S(X) 65.83/22.36 S(mark(X)) -> S(X) 65.83/22.36 65.83/22.36 R is empty. 65.83/22.36 The set Q consists of the following terms: 65.83/22.36 65.83/22.36 active(U11(tt, x0)) 65.83/22.36 active(U12(tt)) 65.83/22.36 active(U21(tt)) 65.83/22.36 active(U31(tt, x0)) 65.83/22.36 active(U32(tt)) 65.83/22.36 active(U41(tt, x0)) 65.83/22.36 active(U51(tt, x0, x1)) 65.83/22.36 active(U52(tt, x0, x1)) 65.83/22.36 active(U61(tt)) 65.83/22.36 active(U71(tt, x0, x1)) 65.83/22.36 active(U72(tt, x0, x1)) 65.83/22.36 active(isNat(0)) 65.83/22.36 active(isNat(plus(x0, x1))) 65.83/22.36 active(isNat(s(x0))) 65.83/22.36 active(isNat(x(x0, x1))) 65.83/22.36 active(plus(x0, 0)) 65.83/22.36 active(plus(x0, s(x1))) 65.83/22.36 active(x(x0, 0)) 65.83/22.36 active(x(x0, s(x1))) 65.83/22.36 mark(U11(x0, x1)) 65.83/22.36 mark(tt) 65.83/22.36 mark(U12(x0)) 65.83/22.36 mark(isNat(x0)) 65.83/22.36 mark(U21(x0)) 65.83/22.36 mark(U31(x0, x1)) 65.83/22.36 mark(U32(x0)) 65.83/22.36 mark(U41(x0, x1)) 65.83/22.36 mark(U51(x0, x1, x2)) 65.83/22.36 mark(U52(x0, x1, x2)) 65.83/22.36 mark(s(x0)) 65.83/22.36 mark(plus(x0, x1)) 65.83/22.36 mark(U61(x0)) 65.83/22.36 mark(0) 65.83/22.36 mark(U71(x0, x1, x2)) 65.83/22.36 mark(U72(x0, x1, x2)) 65.83/22.36 mark(x(x0, x1)) 65.83/22.36 65.83/22.36 We have to consider all minimal (P,Q,R)-chains. 65.83/22.36 ---------------------------------------- 65.83/22.36 65.83/22.36 (45) QDPSizeChangeProof (EQUIVALENT) 65.83/22.36 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. 65.83/22.36 65.83/22.36 From the DPs we obtained the following set of size-change graphs: 65.83/22.36 *S(active(X)) -> S(X) 65.83/22.36 The graph contains the following edges 1 > 1 65.83/22.36 65.83/22.36 65.83/22.36 *S(mark(X)) -> S(X) 65.83/22.36 The graph contains the following edges 1 > 1 65.83/22.36 65.83/22.36 65.83/22.36 ---------------------------------------- 65.83/22.36 65.83/22.36 (46) 65.83/22.36 YES 65.83/22.36 65.83/22.36 ---------------------------------------- 65.83/22.36 65.83/22.36 (47) 65.83/22.36 Obligation: 65.83/22.36 Q DP problem: 65.83/22.36 The TRS P consists of the following rules: 65.83/22.36 65.83/22.36 U52^1(X1, mark(X2), X3) -> U52^1(X1, X2, X3) 65.83/22.36 U52^1(mark(X1), X2, X3) -> U52^1(X1, X2, X3) 65.83/22.36 U52^1(X1, X2, mark(X3)) -> U52^1(X1, X2, X3) 65.83/22.36 U52^1(active(X1), X2, X3) -> U52^1(X1, X2, X3) 65.83/22.36 U52^1(X1, active(X2), X3) -> U52^1(X1, X2, X3) 65.83/22.36 U52^1(X1, X2, active(X3)) -> U52^1(X1, X2, X3) 65.83/22.36 65.83/22.36 The TRS R consists of the following rules: 65.83/22.36 65.83/22.36 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.83/22.36 active(U12(tt)) -> mark(tt) 65.83/22.36 active(U21(tt)) -> mark(tt) 65.83/22.36 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.83/22.36 active(U32(tt)) -> mark(tt) 65.83/22.36 active(U41(tt, N)) -> mark(N) 65.83/22.36 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.83/22.36 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.83/22.36 active(U61(tt)) -> mark(0) 65.83/22.36 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.83/22.36 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.83/22.36 active(isNat(0)) -> mark(tt) 65.83/22.36 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.83/22.36 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.83/22.36 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.83/22.36 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.83/22.36 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.83/22.36 active(x(N, 0)) -> mark(U61(isNat(N))) 65.83/22.36 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.83/22.36 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.83/22.36 mark(tt) -> active(tt) 65.83/22.36 mark(U12(X)) -> active(U12(mark(X))) 65.83/22.36 mark(isNat(X)) -> active(isNat(X)) 65.83/22.36 mark(U21(X)) -> active(U21(mark(X))) 65.83/22.36 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.83/22.36 mark(U32(X)) -> active(U32(mark(X))) 65.83/22.36 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.83/22.36 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.83/22.36 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.83/22.36 mark(s(X)) -> active(s(mark(X))) 65.83/22.36 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.83/22.36 mark(U61(X)) -> active(U61(mark(X))) 65.83/22.36 mark(0) -> active(0) 65.83/22.36 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.83/22.36 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.83/22.36 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.83/22.36 U11(mark(X1), X2) -> U11(X1, X2) 65.83/22.36 U11(X1, mark(X2)) -> U11(X1, X2) 65.83/22.36 U11(active(X1), X2) -> U11(X1, X2) 65.83/22.36 U11(X1, active(X2)) -> U11(X1, X2) 65.83/22.36 U12(mark(X)) -> U12(X) 65.83/22.36 U12(active(X)) -> U12(X) 65.83/22.36 isNat(mark(X)) -> isNat(X) 65.83/22.36 isNat(active(X)) -> isNat(X) 65.83/22.36 U21(mark(X)) -> U21(X) 65.83/22.36 U21(active(X)) -> U21(X) 65.83/22.36 U31(mark(X1), X2) -> U31(X1, X2) 65.83/22.36 U31(X1, mark(X2)) -> U31(X1, X2) 65.83/22.36 U31(active(X1), X2) -> U31(X1, X2) 65.83/22.36 U31(X1, active(X2)) -> U31(X1, X2) 65.83/22.36 U32(mark(X)) -> U32(X) 65.83/22.36 U32(active(X)) -> U32(X) 65.83/22.36 U41(mark(X1), X2) -> U41(X1, X2) 65.83/22.36 U41(X1, mark(X2)) -> U41(X1, X2) 65.83/22.36 U41(active(X1), X2) -> U41(X1, X2) 65.83/22.36 U41(X1, active(X2)) -> U41(X1, X2) 65.83/22.36 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.36 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.83/22.36 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.83/22.36 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.36 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.83/22.36 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.83/22.36 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.36 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.83/22.36 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.83/22.36 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.36 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.83/22.36 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.83/22.36 s(mark(X)) -> s(X) 65.83/22.36 s(active(X)) -> s(X) 65.83/22.36 plus(mark(X1), X2) -> plus(X1, X2) 65.83/22.36 plus(X1, mark(X2)) -> plus(X1, X2) 65.83/22.36 plus(active(X1), X2) -> plus(X1, X2) 65.83/22.36 plus(X1, active(X2)) -> plus(X1, X2) 65.83/22.36 U61(mark(X)) -> U61(X) 65.83/22.36 U61(active(X)) -> U61(X) 65.83/22.36 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.36 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.83/22.36 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.83/22.36 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.36 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.83/22.36 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.83/22.36 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.36 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.83/22.36 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.83/22.36 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.36 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.83/22.36 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.83/22.36 x(mark(X1), X2) -> x(X1, X2) 65.83/22.36 x(X1, mark(X2)) -> x(X1, X2) 65.83/22.36 x(active(X1), X2) -> x(X1, X2) 65.83/22.36 x(X1, active(X2)) -> x(X1, X2) 65.83/22.36 65.83/22.36 The set Q consists of the following terms: 65.83/22.36 65.83/22.36 active(U11(tt, x0)) 65.83/22.36 active(U12(tt)) 65.83/22.36 active(U21(tt)) 65.83/22.36 active(U31(tt, x0)) 65.83/22.36 active(U32(tt)) 65.83/22.36 active(U41(tt, x0)) 65.83/22.36 active(U51(tt, x0, x1)) 65.83/22.36 active(U52(tt, x0, x1)) 65.83/22.36 active(U61(tt)) 65.83/22.36 active(U71(tt, x0, x1)) 65.83/22.36 active(U72(tt, x0, x1)) 65.83/22.36 active(isNat(0)) 65.83/22.36 active(isNat(plus(x0, x1))) 65.83/22.36 active(isNat(s(x0))) 65.83/22.36 active(isNat(x(x0, x1))) 65.83/22.36 active(plus(x0, 0)) 65.83/22.36 active(plus(x0, s(x1))) 65.83/22.36 active(x(x0, 0)) 65.83/22.36 active(x(x0, s(x1))) 65.83/22.36 mark(U11(x0, x1)) 65.83/22.36 mark(tt) 65.83/22.36 mark(U12(x0)) 65.83/22.36 mark(isNat(x0)) 65.83/22.36 mark(U21(x0)) 65.83/22.36 mark(U31(x0, x1)) 65.83/22.36 mark(U32(x0)) 65.83/22.36 mark(U41(x0, x1)) 65.83/22.36 mark(U51(x0, x1, x2)) 65.83/22.36 mark(U52(x0, x1, x2)) 65.83/22.36 mark(s(x0)) 65.83/22.36 mark(plus(x0, x1)) 65.83/22.36 mark(U61(x0)) 65.83/22.36 mark(0) 65.83/22.36 mark(U71(x0, x1, x2)) 65.83/22.36 mark(U72(x0, x1, x2)) 65.83/22.36 mark(x(x0, x1)) 65.83/22.36 U11(mark(x0), x1) 65.83/22.36 U11(x0, mark(x1)) 65.83/22.36 U11(active(x0), x1) 65.83/22.36 U11(x0, active(x1)) 65.83/22.36 U12(mark(x0)) 65.83/22.36 U12(active(x0)) 65.83/22.36 isNat(mark(x0)) 65.83/22.36 isNat(active(x0)) 65.83/22.36 U21(mark(x0)) 65.83/22.36 U21(active(x0)) 65.83/22.36 U31(mark(x0), x1) 65.83/22.36 U31(x0, mark(x1)) 65.83/22.36 U31(active(x0), x1) 65.83/22.36 U31(x0, active(x1)) 65.83/22.36 U32(mark(x0)) 65.83/22.36 U32(active(x0)) 65.83/22.36 U41(mark(x0), x1) 65.83/22.36 U41(x0, mark(x1)) 65.83/22.36 U41(active(x0), x1) 65.83/22.36 U41(x0, active(x1)) 65.83/22.36 U51(mark(x0), x1, x2) 65.83/22.36 U51(x0, mark(x1), x2) 65.83/22.36 U51(x0, x1, mark(x2)) 65.83/22.36 U51(active(x0), x1, x2) 65.83/22.36 U51(x0, active(x1), x2) 65.83/22.36 U51(x0, x1, active(x2)) 65.83/22.36 U52(mark(x0), x1, x2) 65.83/22.36 U52(x0, mark(x1), x2) 65.83/22.36 U52(x0, x1, mark(x2)) 65.83/22.36 U52(active(x0), x1, x2) 65.83/22.36 U52(x0, active(x1), x2) 65.83/22.36 U52(x0, x1, active(x2)) 65.83/22.36 s(mark(x0)) 65.83/22.36 s(active(x0)) 65.83/22.36 plus(mark(x0), x1) 65.83/22.36 plus(x0, mark(x1)) 65.83/22.36 plus(active(x0), x1) 65.83/22.36 plus(x0, active(x1)) 65.83/22.36 U61(mark(x0)) 65.83/22.36 U61(active(x0)) 65.83/22.36 U71(mark(x0), x1, x2) 65.83/22.36 U71(x0, mark(x1), x2) 65.83/22.36 U71(x0, x1, mark(x2)) 65.83/22.36 U71(active(x0), x1, x2) 65.83/22.36 U71(x0, active(x1), x2) 65.83/22.36 U71(x0, x1, active(x2)) 65.83/22.36 U72(mark(x0), x1, x2) 65.83/22.36 U72(x0, mark(x1), x2) 65.83/22.36 U72(x0, x1, mark(x2)) 65.83/22.36 U72(active(x0), x1, x2) 65.83/22.36 U72(x0, active(x1), x2) 65.83/22.36 U72(x0, x1, active(x2)) 65.83/22.36 x(mark(x0), x1) 65.83/22.36 x(x0, mark(x1)) 65.83/22.36 x(active(x0), x1) 65.83/22.36 x(x0, active(x1)) 65.83/22.36 65.83/22.36 We have to consider all minimal (P,Q,R)-chains. 65.83/22.36 ---------------------------------------- 65.83/22.36 65.83/22.36 (48) UsableRulesProof (EQUIVALENT) 65.83/22.36 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. 65.83/22.36 ---------------------------------------- 65.83/22.36 65.83/22.36 (49) 65.83/22.36 Obligation: 65.83/22.36 Q DP problem: 65.83/22.36 The TRS P consists of the following rules: 65.83/22.36 65.83/22.36 U52^1(X1, mark(X2), X3) -> U52^1(X1, X2, X3) 65.83/22.36 U52^1(mark(X1), X2, X3) -> U52^1(X1, X2, X3) 65.83/22.36 U52^1(X1, X2, mark(X3)) -> U52^1(X1, X2, X3) 65.83/22.36 U52^1(active(X1), X2, X3) -> U52^1(X1, X2, X3) 65.83/22.36 U52^1(X1, active(X2), X3) -> U52^1(X1, X2, X3) 65.83/22.36 U52^1(X1, X2, active(X3)) -> U52^1(X1, X2, X3) 65.83/22.36 65.83/22.36 R is empty. 65.83/22.36 The set Q consists of the following terms: 65.83/22.36 65.83/22.36 active(U11(tt, x0)) 65.83/22.36 active(U12(tt)) 65.83/22.36 active(U21(tt)) 65.83/22.36 active(U31(tt, x0)) 65.83/22.36 active(U32(tt)) 65.83/22.36 active(U41(tt, x0)) 65.83/22.36 active(U51(tt, x0, x1)) 65.83/22.36 active(U52(tt, x0, x1)) 65.83/22.36 active(U61(tt)) 65.83/22.36 active(U71(tt, x0, x1)) 65.83/22.36 active(U72(tt, x0, x1)) 65.83/22.36 active(isNat(0)) 65.83/22.36 active(isNat(plus(x0, x1))) 65.83/22.36 active(isNat(s(x0))) 65.83/22.36 active(isNat(x(x0, x1))) 65.83/22.36 active(plus(x0, 0)) 65.83/22.36 active(plus(x0, s(x1))) 65.83/22.36 active(x(x0, 0)) 65.83/22.36 active(x(x0, s(x1))) 65.83/22.36 mark(U11(x0, x1)) 65.83/22.36 mark(tt) 65.83/22.36 mark(U12(x0)) 65.83/22.36 mark(isNat(x0)) 65.83/22.36 mark(U21(x0)) 65.83/22.36 mark(U31(x0, x1)) 65.83/22.36 mark(U32(x0)) 65.83/22.36 mark(U41(x0, x1)) 65.83/22.36 mark(U51(x0, x1, x2)) 65.83/22.36 mark(U52(x0, x1, x2)) 65.83/22.36 mark(s(x0)) 65.83/22.36 mark(plus(x0, x1)) 65.83/22.36 mark(U61(x0)) 65.83/22.36 mark(0) 65.83/22.36 mark(U71(x0, x1, x2)) 65.83/22.36 mark(U72(x0, x1, x2)) 65.83/22.36 mark(x(x0, x1)) 65.83/22.36 U11(mark(x0), x1) 65.83/22.36 U11(x0, mark(x1)) 65.83/22.36 U11(active(x0), x1) 65.83/22.36 U11(x0, active(x1)) 65.83/22.36 U12(mark(x0)) 65.83/22.36 U12(active(x0)) 65.83/22.36 isNat(mark(x0)) 65.83/22.36 isNat(active(x0)) 65.83/22.36 U21(mark(x0)) 65.83/22.36 U21(active(x0)) 65.83/22.36 U31(mark(x0), x1) 65.83/22.36 U31(x0, mark(x1)) 65.83/22.36 U31(active(x0), x1) 65.83/22.36 U31(x0, active(x1)) 65.83/22.36 U32(mark(x0)) 65.83/22.36 U32(active(x0)) 65.83/22.36 U41(mark(x0), x1) 65.83/22.36 U41(x0, mark(x1)) 65.83/22.36 U41(active(x0), x1) 65.83/22.36 U41(x0, active(x1)) 65.83/22.36 U51(mark(x0), x1, x2) 65.83/22.36 U51(x0, mark(x1), x2) 65.83/22.36 U51(x0, x1, mark(x2)) 65.83/22.36 U51(active(x0), x1, x2) 65.83/22.36 U51(x0, active(x1), x2) 65.83/22.36 U51(x0, x1, active(x2)) 65.83/22.36 U52(mark(x0), x1, x2) 65.83/22.36 U52(x0, mark(x1), x2) 65.83/22.36 U52(x0, x1, mark(x2)) 65.83/22.36 U52(active(x0), x1, x2) 65.83/22.36 U52(x0, active(x1), x2) 65.83/22.36 U52(x0, x1, active(x2)) 65.83/22.36 s(mark(x0)) 65.83/22.36 s(active(x0)) 65.83/22.36 plus(mark(x0), x1) 65.83/22.36 plus(x0, mark(x1)) 65.83/22.36 plus(active(x0), x1) 65.83/22.36 plus(x0, active(x1)) 65.83/22.36 U61(mark(x0)) 65.83/22.36 U61(active(x0)) 65.83/22.36 U71(mark(x0), x1, x2) 65.83/22.36 U71(x0, mark(x1), x2) 65.83/22.36 U71(x0, x1, mark(x2)) 65.83/22.36 U71(active(x0), x1, x2) 65.83/22.36 U71(x0, active(x1), x2) 65.83/22.36 U71(x0, x1, active(x2)) 65.83/22.36 U72(mark(x0), x1, x2) 65.83/22.36 U72(x0, mark(x1), x2) 65.83/22.36 U72(x0, x1, mark(x2)) 65.83/22.36 U72(active(x0), x1, x2) 65.83/22.36 U72(x0, active(x1), x2) 65.83/22.36 U72(x0, x1, active(x2)) 65.83/22.36 x(mark(x0), x1) 65.83/22.36 x(x0, mark(x1)) 65.83/22.36 x(active(x0), x1) 65.83/22.36 x(x0, active(x1)) 65.83/22.36 65.83/22.36 We have to consider all minimal (P,Q,R)-chains. 65.83/22.36 ---------------------------------------- 65.83/22.36 65.83/22.36 (50) QReductionProof (EQUIVALENT) 65.83/22.36 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.83/22.36 65.83/22.36 U11(mark(x0), x1) 65.83/22.36 U11(x0, mark(x1)) 65.83/22.36 U11(active(x0), x1) 65.83/22.36 U11(x0, active(x1)) 65.83/22.36 U12(mark(x0)) 65.83/22.36 U12(active(x0)) 65.83/22.36 isNat(mark(x0)) 65.83/22.36 isNat(active(x0)) 65.83/22.36 U21(mark(x0)) 65.83/22.36 U21(active(x0)) 65.83/22.36 U31(mark(x0), x1) 65.83/22.36 U31(x0, mark(x1)) 65.83/22.36 U31(active(x0), x1) 65.83/22.36 U31(x0, active(x1)) 65.83/22.36 U32(mark(x0)) 65.83/22.36 U32(active(x0)) 65.83/22.36 U41(mark(x0), x1) 65.83/22.36 U41(x0, mark(x1)) 65.83/22.36 U41(active(x0), x1) 65.83/22.36 U41(x0, active(x1)) 65.83/22.36 U51(mark(x0), x1, x2) 65.83/22.36 U51(x0, mark(x1), x2) 65.83/22.36 U51(x0, x1, mark(x2)) 65.83/22.36 U51(active(x0), x1, x2) 65.83/22.36 U51(x0, active(x1), x2) 65.83/22.36 U51(x0, x1, active(x2)) 65.83/22.37 U52(mark(x0), x1, x2) 65.83/22.37 U52(x0, mark(x1), x2) 65.83/22.37 U52(x0, x1, mark(x2)) 65.83/22.37 U52(active(x0), x1, x2) 65.83/22.37 U52(x0, active(x1), x2) 65.83/22.37 U52(x0, x1, active(x2)) 65.83/22.37 s(mark(x0)) 65.83/22.37 s(active(x0)) 65.83/22.37 plus(mark(x0), x1) 65.83/22.37 plus(x0, mark(x1)) 65.83/22.37 plus(active(x0), x1) 65.83/22.37 plus(x0, active(x1)) 65.83/22.37 U61(mark(x0)) 65.83/22.37 U61(active(x0)) 65.83/22.37 U71(mark(x0), x1, x2) 65.83/22.37 U71(x0, mark(x1), x2) 65.83/22.37 U71(x0, x1, mark(x2)) 65.83/22.37 U71(active(x0), x1, x2) 65.83/22.37 U71(x0, active(x1), x2) 65.83/22.37 U71(x0, x1, active(x2)) 65.83/22.37 U72(mark(x0), x1, x2) 65.83/22.37 U72(x0, mark(x1), x2) 65.83/22.37 U72(x0, x1, mark(x2)) 65.83/22.37 U72(active(x0), x1, x2) 65.83/22.37 U72(x0, active(x1), x2) 65.83/22.37 U72(x0, x1, active(x2)) 65.83/22.37 x(mark(x0), x1) 65.83/22.37 x(x0, mark(x1)) 65.83/22.37 x(active(x0), x1) 65.83/22.37 x(x0, active(x1)) 65.83/22.37 65.83/22.37 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (51) 65.83/22.37 Obligation: 65.83/22.37 Q DP problem: 65.83/22.37 The TRS P consists of the following rules: 65.83/22.37 65.83/22.37 U52^1(X1, mark(X2), X3) -> U52^1(X1, X2, X3) 65.83/22.37 U52^1(mark(X1), X2, X3) -> U52^1(X1, X2, X3) 65.83/22.37 U52^1(X1, X2, mark(X3)) -> U52^1(X1, X2, X3) 65.83/22.37 U52^1(active(X1), X2, X3) -> U52^1(X1, X2, X3) 65.83/22.37 U52^1(X1, active(X2), X3) -> U52^1(X1, X2, X3) 65.83/22.37 U52^1(X1, X2, active(X3)) -> U52^1(X1, X2, X3) 65.83/22.37 65.83/22.37 R is empty. 65.83/22.37 The set Q consists of the following terms: 65.83/22.37 65.83/22.37 active(U11(tt, x0)) 65.83/22.37 active(U12(tt)) 65.83/22.37 active(U21(tt)) 65.83/22.37 active(U31(tt, x0)) 65.83/22.37 active(U32(tt)) 65.83/22.37 active(U41(tt, x0)) 65.83/22.37 active(U51(tt, x0, x1)) 65.83/22.37 active(U52(tt, x0, x1)) 65.83/22.37 active(U61(tt)) 65.83/22.37 active(U71(tt, x0, x1)) 65.83/22.37 active(U72(tt, x0, x1)) 65.83/22.37 active(isNat(0)) 65.83/22.37 active(isNat(plus(x0, x1))) 65.83/22.37 active(isNat(s(x0))) 65.83/22.37 active(isNat(x(x0, x1))) 65.83/22.37 active(plus(x0, 0)) 65.83/22.37 active(plus(x0, s(x1))) 65.83/22.37 active(x(x0, 0)) 65.83/22.37 active(x(x0, s(x1))) 65.83/22.37 mark(U11(x0, x1)) 65.83/22.37 mark(tt) 65.83/22.37 mark(U12(x0)) 65.83/22.37 mark(isNat(x0)) 65.83/22.37 mark(U21(x0)) 65.83/22.37 mark(U31(x0, x1)) 65.83/22.37 mark(U32(x0)) 65.83/22.37 mark(U41(x0, x1)) 65.83/22.37 mark(U51(x0, x1, x2)) 65.83/22.37 mark(U52(x0, x1, x2)) 65.83/22.37 mark(s(x0)) 65.83/22.37 mark(plus(x0, x1)) 65.83/22.37 mark(U61(x0)) 65.83/22.37 mark(0) 65.83/22.37 mark(U71(x0, x1, x2)) 65.83/22.37 mark(U72(x0, x1, x2)) 65.83/22.37 mark(x(x0, x1)) 65.83/22.37 65.83/22.37 We have to consider all minimal (P,Q,R)-chains. 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (52) QDPSizeChangeProof (EQUIVALENT) 65.83/22.37 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. 65.83/22.37 65.83/22.37 From the DPs we obtained the following set of size-change graphs: 65.83/22.37 *U52^1(X1, mark(X2), X3) -> U52^1(X1, X2, X3) 65.83/22.37 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 65.83/22.37 65.83/22.37 65.83/22.37 *U52^1(mark(X1), X2, X3) -> U52^1(X1, X2, X3) 65.83/22.37 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 65.83/22.37 65.83/22.37 65.83/22.37 *U52^1(X1, X2, mark(X3)) -> U52^1(X1, X2, X3) 65.83/22.37 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 65.83/22.37 65.83/22.37 65.83/22.37 *U52^1(active(X1), X2, X3) -> U52^1(X1, X2, X3) 65.83/22.37 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 65.83/22.37 65.83/22.37 65.83/22.37 *U52^1(X1, active(X2), X3) -> U52^1(X1, X2, X3) 65.83/22.37 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 65.83/22.37 65.83/22.37 65.83/22.37 *U52^1(X1, X2, active(X3)) -> U52^1(X1, X2, X3) 65.83/22.37 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 65.83/22.37 65.83/22.37 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (53) 65.83/22.37 YES 65.83/22.37 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (54) 65.83/22.37 Obligation: 65.83/22.37 Q DP problem: 65.83/22.37 The TRS P consists of the following rules: 65.83/22.37 65.83/22.37 U51^1(X1, mark(X2), X3) -> U51^1(X1, X2, X3) 65.83/22.37 U51^1(mark(X1), X2, X3) -> U51^1(X1, X2, X3) 65.83/22.37 U51^1(X1, X2, mark(X3)) -> U51^1(X1, X2, X3) 65.83/22.37 U51^1(active(X1), X2, X3) -> U51^1(X1, X2, X3) 65.83/22.37 U51^1(X1, active(X2), X3) -> U51^1(X1, X2, X3) 65.83/22.37 U51^1(X1, X2, active(X3)) -> U51^1(X1, X2, X3) 65.83/22.37 65.83/22.37 The TRS R consists of the following rules: 65.83/22.37 65.83/22.37 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.83/22.37 active(U12(tt)) -> mark(tt) 65.83/22.37 active(U21(tt)) -> mark(tt) 65.83/22.37 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.83/22.37 active(U32(tt)) -> mark(tt) 65.83/22.37 active(U41(tt, N)) -> mark(N) 65.83/22.37 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.83/22.37 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.83/22.37 active(U61(tt)) -> mark(0) 65.83/22.37 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.83/22.37 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.83/22.37 active(isNat(0)) -> mark(tt) 65.83/22.37 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.83/22.37 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.83/22.37 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.83/22.37 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.83/22.37 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.83/22.37 active(x(N, 0)) -> mark(U61(isNat(N))) 65.83/22.37 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.83/22.37 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.83/22.37 mark(tt) -> active(tt) 65.83/22.37 mark(U12(X)) -> active(U12(mark(X))) 65.83/22.37 mark(isNat(X)) -> active(isNat(X)) 65.83/22.37 mark(U21(X)) -> active(U21(mark(X))) 65.83/22.37 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.83/22.37 mark(U32(X)) -> active(U32(mark(X))) 65.83/22.37 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.83/22.37 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.83/22.37 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.83/22.37 mark(s(X)) -> active(s(mark(X))) 65.83/22.37 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.83/22.37 mark(U61(X)) -> active(U61(mark(X))) 65.83/22.37 mark(0) -> active(0) 65.83/22.37 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.83/22.37 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.83/22.37 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.83/22.37 U11(mark(X1), X2) -> U11(X1, X2) 65.83/22.37 U11(X1, mark(X2)) -> U11(X1, X2) 65.83/22.37 U11(active(X1), X2) -> U11(X1, X2) 65.83/22.37 U11(X1, active(X2)) -> U11(X1, X2) 65.83/22.37 U12(mark(X)) -> U12(X) 65.83/22.37 U12(active(X)) -> U12(X) 65.83/22.37 isNat(mark(X)) -> isNat(X) 65.83/22.37 isNat(active(X)) -> isNat(X) 65.83/22.37 U21(mark(X)) -> U21(X) 65.83/22.37 U21(active(X)) -> U21(X) 65.83/22.37 U31(mark(X1), X2) -> U31(X1, X2) 65.83/22.37 U31(X1, mark(X2)) -> U31(X1, X2) 65.83/22.37 U31(active(X1), X2) -> U31(X1, X2) 65.83/22.37 U31(X1, active(X2)) -> U31(X1, X2) 65.83/22.37 U32(mark(X)) -> U32(X) 65.83/22.37 U32(active(X)) -> U32(X) 65.83/22.37 U41(mark(X1), X2) -> U41(X1, X2) 65.83/22.37 U41(X1, mark(X2)) -> U41(X1, X2) 65.83/22.37 U41(active(X1), X2) -> U41(X1, X2) 65.83/22.37 U41(X1, active(X2)) -> U41(X1, X2) 65.83/22.37 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.37 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.83/22.37 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.83/22.37 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.37 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.83/22.37 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.83/22.37 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.37 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.83/22.37 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.83/22.37 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.37 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.83/22.37 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.83/22.37 s(mark(X)) -> s(X) 65.83/22.37 s(active(X)) -> s(X) 65.83/22.37 plus(mark(X1), X2) -> plus(X1, X2) 65.83/22.37 plus(X1, mark(X2)) -> plus(X1, X2) 65.83/22.37 plus(active(X1), X2) -> plus(X1, X2) 65.83/22.37 plus(X1, active(X2)) -> plus(X1, X2) 65.83/22.37 U61(mark(X)) -> U61(X) 65.83/22.37 U61(active(X)) -> U61(X) 65.83/22.37 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.37 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.83/22.37 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.83/22.37 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.37 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.83/22.37 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.83/22.37 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.37 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.83/22.37 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.83/22.37 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.37 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.83/22.37 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.83/22.37 x(mark(X1), X2) -> x(X1, X2) 65.83/22.37 x(X1, mark(X2)) -> x(X1, X2) 65.83/22.37 x(active(X1), X2) -> x(X1, X2) 65.83/22.37 x(X1, active(X2)) -> x(X1, X2) 65.83/22.37 65.83/22.37 The set Q consists of the following terms: 65.83/22.37 65.83/22.37 active(U11(tt, x0)) 65.83/22.37 active(U12(tt)) 65.83/22.37 active(U21(tt)) 65.83/22.37 active(U31(tt, x0)) 65.83/22.37 active(U32(tt)) 65.83/22.37 active(U41(tt, x0)) 65.83/22.37 active(U51(tt, x0, x1)) 65.83/22.37 active(U52(tt, x0, x1)) 65.83/22.37 active(U61(tt)) 65.83/22.37 active(U71(tt, x0, x1)) 65.83/22.37 active(U72(tt, x0, x1)) 65.83/22.37 active(isNat(0)) 65.83/22.37 active(isNat(plus(x0, x1))) 65.83/22.37 active(isNat(s(x0))) 65.83/22.37 active(isNat(x(x0, x1))) 65.83/22.37 active(plus(x0, 0)) 65.83/22.37 active(plus(x0, s(x1))) 65.83/22.37 active(x(x0, 0)) 65.83/22.37 active(x(x0, s(x1))) 65.83/22.37 mark(U11(x0, x1)) 65.83/22.37 mark(tt) 65.83/22.37 mark(U12(x0)) 65.83/22.37 mark(isNat(x0)) 65.83/22.37 mark(U21(x0)) 65.83/22.37 mark(U31(x0, x1)) 65.83/22.37 mark(U32(x0)) 65.83/22.37 mark(U41(x0, x1)) 65.83/22.37 mark(U51(x0, x1, x2)) 65.83/22.37 mark(U52(x0, x1, x2)) 65.83/22.37 mark(s(x0)) 65.83/22.37 mark(plus(x0, x1)) 65.83/22.37 mark(U61(x0)) 65.83/22.37 mark(0) 65.83/22.37 mark(U71(x0, x1, x2)) 65.83/22.37 mark(U72(x0, x1, x2)) 65.83/22.37 mark(x(x0, x1)) 65.83/22.37 U11(mark(x0), x1) 65.83/22.37 U11(x0, mark(x1)) 65.83/22.37 U11(active(x0), x1) 65.83/22.37 U11(x0, active(x1)) 65.83/22.37 U12(mark(x0)) 65.83/22.37 U12(active(x0)) 65.83/22.37 isNat(mark(x0)) 65.83/22.37 isNat(active(x0)) 65.83/22.37 U21(mark(x0)) 65.83/22.37 U21(active(x0)) 65.83/22.37 U31(mark(x0), x1) 65.83/22.37 U31(x0, mark(x1)) 65.83/22.37 U31(active(x0), x1) 65.83/22.37 U31(x0, active(x1)) 65.83/22.37 U32(mark(x0)) 65.83/22.37 U32(active(x0)) 65.83/22.37 U41(mark(x0), x1) 65.83/22.37 U41(x0, mark(x1)) 65.83/22.37 U41(active(x0), x1) 65.83/22.37 U41(x0, active(x1)) 65.83/22.37 U51(mark(x0), x1, x2) 65.83/22.37 U51(x0, mark(x1), x2) 65.83/22.37 U51(x0, x1, mark(x2)) 65.83/22.37 U51(active(x0), x1, x2) 65.83/22.37 U51(x0, active(x1), x2) 65.83/22.37 U51(x0, x1, active(x2)) 65.83/22.37 U52(mark(x0), x1, x2) 65.83/22.37 U52(x0, mark(x1), x2) 65.83/22.37 U52(x0, x1, mark(x2)) 65.83/22.37 U52(active(x0), x1, x2) 65.83/22.37 U52(x0, active(x1), x2) 65.83/22.37 U52(x0, x1, active(x2)) 65.83/22.37 s(mark(x0)) 65.83/22.37 s(active(x0)) 65.83/22.37 plus(mark(x0), x1) 65.83/22.37 plus(x0, mark(x1)) 65.83/22.37 plus(active(x0), x1) 65.83/22.37 plus(x0, active(x1)) 65.83/22.37 U61(mark(x0)) 65.83/22.37 U61(active(x0)) 65.83/22.37 U71(mark(x0), x1, x2) 65.83/22.37 U71(x0, mark(x1), x2) 65.83/22.37 U71(x0, x1, mark(x2)) 65.83/22.37 U71(active(x0), x1, x2) 65.83/22.37 U71(x0, active(x1), x2) 65.83/22.37 U71(x0, x1, active(x2)) 65.83/22.37 U72(mark(x0), x1, x2) 65.83/22.37 U72(x0, mark(x1), x2) 65.83/22.37 U72(x0, x1, mark(x2)) 65.83/22.37 U72(active(x0), x1, x2) 65.83/22.37 U72(x0, active(x1), x2) 65.83/22.37 U72(x0, x1, active(x2)) 65.83/22.37 x(mark(x0), x1) 65.83/22.37 x(x0, mark(x1)) 65.83/22.37 x(active(x0), x1) 65.83/22.37 x(x0, active(x1)) 65.83/22.37 65.83/22.37 We have to consider all minimal (P,Q,R)-chains. 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (55) UsableRulesProof (EQUIVALENT) 65.83/22.37 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. 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (56) 65.83/22.37 Obligation: 65.83/22.37 Q DP problem: 65.83/22.37 The TRS P consists of the following rules: 65.83/22.37 65.83/22.37 U51^1(X1, mark(X2), X3) -> U51^1(X1, X2, X3) 65.83/22.37 U51^1(mark(X1), X2, X3) -> U51^1(X1, X2, X3) 65.83/22.37 U51^1(X1, X2, mark(X3)) -> U51^1(X1, X2, X3) 65.83/22.37 U51^1(active(X1), X2, X3) -> U51^1(X1, X2, X3) 65.83/22.37 U51^1(X1, active(X2), X3) -> U51^1(X1, X2, X3) 65.83/22.37 U51^1(X1, X2, active(X3)) -> U51^1(X1, X2, X3) 65.83/22.37 65.83/22.37 R is empty. 65.83/22.37 The set Q consists of the following terms: 65.83/22.37 65.83/22.37 active(U11(tt, x0)) 65.83/22.37 active(U12(tt)) 65.83/22.37 active(U21(tt)) 65.83/22.37 active(U31(tt, x0)) 65.83/22.37 active(U32(tt)) 65.83/22.37 active(U41(tt, x0)) 65.83/22.37 active(U51(tt, x0, x1)) 65.83/22.37 active(U52(tt, x0, x1)) 65.83/22.37 active(U61(tt)) 65.83/22.37 active(U71(tt, x0, x1)) 65.83/22.37 active(U72(tt, x0, x1)) 65.83/22.37 active(isNat(0)) 65.83/22.37 active(isNat(plus(x0, x1))) 65.83/22.37 active(isNat(s(x0))) 65.83/22.37 active(isNat(x(x0, x1))) 65.83/22.37 active(plus(x0, 0)) 65.83/22.37 active(plus(x0, s(x1))) 65.83/22.37 active(x(x0, 0)) 65.83/22.37 active(x(x0, s(x1))) 65.83/22.37 mark(U11(x0, x1)) 65.83/22.37 mark(tt) 65.83/22.37 mark(U12(x0)) 65.83/22.37 mark(isNat(x0)) 65.83/22.37 mark(U21(x0)) 65.83/22.37 mark(U31(x0, x1)) 65.83/22.37 mark(U32(x0)) 65.83/22.37 mark(U41(x0, x1)) 65.83/22.37 mark(U51(x0, x1, x2)) 65.83/22.37 mark(U52(x0, x1, x2)) 65.83/22.37 mark(s(x0)) 65.83/22.37 mark(plus(x0, x1)) 65.83/22.37 mark(U61(x0)) 65.83/22.37 mark(0) 65.83/22.37 mark(U71(x0, x1, x2)) 65.83/22.37 mark(U72(x0, x1, x2)) 65.83/22.37 mark(x(x0, x1)) 65.83/22.37 U11(mark(x0), x1) 65.83/22.37 U11(x0, mark(x1)) 65.83/22.37 U11(active(x0), x1) 65.83/22.37 U11(x0, active(x1)) 65.83/22.37 U12(mark(x0)) 65.83/22.37 U12(active(x0)) 65.83/22.37 isNat(mark(x0)) 65.83/22.37 isNat(active(x0)) 65.83/22.37 U21(mark(x0)) 65.83/22.37 U21(active(x0)) 65.83/22.37 U31(mark(x0), x1) 65.83/22.37 U31(x0, mark(x1)) 65.83/22.37 U31(active(x0), x1) 65.83/22.37 U31(x0, active(x1)) 65.83/22.37 U32(mark(x0)) 65.83/22.37 U32(active(x0)) 65.83/22.37 U41(mark(x0), x1) 65.83/22.37 U41(x0, mark(x1)) 65.83/22.37 U41(active(x0), x1) 65.83/22.37 U41(x0, active(x1)) 65.83/22.37 U51(mark(x0), x1, x2) 65.83/22.37 U51(x0, mark(x1), x2) 65.83/22.37 U51(x0, x1, mark(x2)) 65.83/22.37 U51(active(x0), x1, x2) 65.83/22.37 U51(x0, active(x1), x2) 65.83/22.37 U51(x0, x1, active(x2)) 65.83/22.37 U52(mark(x0), x1, x2) 65.83/22.37 U52(x0, mark(x1), x2) 65.83/22.37 U52(x0, x1, mark(x2)) 65.83/22.37 U52(active(x0), x1, x2) 65.83/22.37 U52(x0, active(x1), x2) 65.83/22.37 U52(x0, x1, active(x2)) 65.83/22.37 s(mark(x0)) 65.83/22.37 s(active(x0)) 65.83/22.37 plus(mark(x0), x1) 65.83/22.37 plus(x0, mark(x1)) 65.83/22.37 plus(active(x0), x1) 65.83/22.37 plus(x0, active(x1)) 65.83/22.37 U61(mark(x0)) 65.83/22.37 U61(active(x0)) 65.83/22.37 U71(mark(x0), x1, x2) 65.83/22.37 U71(x0, mark(x1), x2) 65.83/22.37 U71(x0, x1, mark(x2)) 65.83/22.37 U71(active(x0), x1, x2) 65.83/22.37 U71(x0, active(x1), x2) 65.83/22.37 U71(x0, x1, active(x2)) 65.83/22.37 U72(mark(x0), x1, x2) 65.83/22.37 U72(x0, mark(x1), x2) 65.83/22.37 U72(x0, x1, mark(x2)) 65.83/22.37 U72(active(x0), x1, x2) 65.83/22.37 U72(x0, active(x1), x2) 65.83/22.37 U72(x0, x1, active(x2)) 65.83/22.37 x(mark(x0), x1) 65.83/22.37 x(x0, mark(x1)) 65.83/22.37 x(active(x0), x1) 65.83/22.37 x(x0, active(x1)) 65.83/22.37 65.83/22.37 We have to consider all minimal (P,Q,R)-chains. 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (57) QReductionProof (EQUIVALENT) 65.83/22.37 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.83/22.37 65.83/22.37 U11(mark(x0), x1) 65.83/22.37 U11(x0, mark(x1)) 65.83/22.37 U11(active(x0), x1) 65.83/22.37 U11(x0, active(x1)) 65.83/22.37 U12(mark(x0)) 65.83/22.37 U12(active(x0)) 65.83/22.37 isNat(mark(x0)) 65.83/22.37 isNat(active(x0)) 65.83/22.37 U21(mark(x0)) 65.83/22.37 U21(active(x0)) 65.83/22.37 U31(mark(x0), x1) 65.83/22.37 U31(x0, mark(x1)) 65.83/22.37 U31(active(x0), x1) 65.83/22.37 U31(x0, active(x1)) 65.83/22.37 U32(mark(x0)) 65.83/22.37 U32(active(x0)) 65.83/22.37 U41(mark(x0), x1) 65.83/22.37 U41(x0, mark(x1)) 65.83/22.37 U41(active(x0), x1) 65.83/22.37 U41(x0, active(x1)) 65.83/22.37 U51(mark(x0), x1, x2) 65.83/22.37 U51(x0, mark(x1), x2) 65.83/22.37 U51(x0, x1, mark(x2)) 65.83/22.37 U51(active(x0), x1, x2) 65.83/22.37 U51(x0, active(x1), x2) 65.83/22.37 U51(x0, x1, active(x2)) 65.83/22.37 U52(mark(x0), x1, x2) 65.83/22.37 U52(x0, mark(x1), x2) 65.83/22.37 U52(x0, x1, mark(x2)) 65.83/22.37 U52(active(x0), x1, x2) 65.83/22.37 U52(x0, active(x1), x2) 65.83/22.37 U52(x0, x1, active(x2)) 65.83/22.37 s(mark(x0)) 65.83/22.37 s(active(x0)) 65.83/22.37 plus(mark(x0), x1) 65.83/22.37 plus(x0, mark(x1)) 65.83/22.37 plus(active(x0), x1) 65.83/22.37 plus(x0, active(x1)) 65.83/22.37 U61(mark(x0)) 65.83/22.37 U61(active(x0)) 65.83/22.37 U71(mark(x0), x1, x2) 65.83/22.37 U71(x0, mark(x1), x2) 65.83/22.37 U71(x0, x1, mark(x2)) 65.83/22.37 U71(active(x0), x1, x2) 65.83/22.37 U71(x0, active(x1), x2) 65.83/22.37 U71(x0, x1, active(x2)) 65.83/22.37 U72(mark(x0), x1, x2) 65.83/22.37 U72(x0, mark(x1), x2) 65.83/22.37 U72(x0, x1, mark(x2)) 65.83/22.37 U72(active(x0), x1, x2) 65.83/22.37 U72(x0, active(x1), x2) 65.83/22.37 U72(x0, x1, active(x2)) 65.83/22.37 x(mark(x0), x1) 65.83/22.37 x(x0, mark(x1)) 65.83/22.37 x(active(x0), x1) 65.83/22.37 x(x0, active(x1)) 65.83/22.37 65.83/22.37 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (58) 65.83/22.37 Obligation: 65.83/22.37 Q DP problem: 65.83/22.37 The TRS P consists of the following rules: 65.83/22.37 65.83/22.37 U51^1(X1, mark(X2), X3) -> U51^1(X1, X2, X3) 65.83/22.37 U51^1(mark(X1), X2, X3) -> U51^1(X1, X2, X3) 65.83/22.37 U51^1(X1, X2, mark(X3)) -> U51^1(X1, X2, X3) 65.83/22.37 U51^1(active(X1), X2, X3) -> U51^1(X1, X2, X3) 65.83/22.37 U51^1(X1, active(X2), X3) -> U51^1(X1, X2, X3) 65.83/22.37 U51^1(X1, X2, active(X3)) -> U51^1(X1, X2, X3) 65.83/22.37 65.83/22.37 R is empty. 65.83/22.37 The set Q consists of the following terms: 65.83/22.37 65.83/22.37 active(U11(tt, x0)) 65.83/22.37 active(U12(tt)) 65.83/22.37 active(U21(tt)) 65.83/22.37 active(U31(tt, x0)) 65.83/22.37 active(U32(tt)) 65.83/22.37 active(U41(tt, x0)) 65.83/22.37 active(U51(tt, x0, x1)) 65.83/22.37 active(U52(tt, x0, x1)) 65.83/22.37 active(U61(tt)) 65.83/22.37 active(U71(tt, x0, x1)) 65.83/22.37 active(U72(tt, x0, x1)) 65.83/22.37 active(isNat(0)) 65.83/22.37 active(isNat(plus(x0, x1))) 65.83/22.37 active(isNat(s(x0))) 65.83/22.37 active(isNat(x(x0, x1))) 65.83/22.37 active(plus(x0, 0)) 65.83/22.37 active(plus(x0, s(x1))) 65.83/22.37 active(x(x0, 0)) 65.83/22.37 active(x(x0, s(x1))) 65.83/22.37 mark(U11(x0, x1)) 65.83/22.37 mark(tt) 65.83/22.37 mark(U12(x0)) 65.83/22.37 mark(isNat(x0)) 65.83/22.37 mark(U21(x0)) 65.83/22.37 mark(U31(x0, x1)) 65.83/22.37 mark(U32(x0)) 65.83/22.37 mark(U41(x0, x1)) 65.83/22.37 mark(U51(x0, x1, x2)) 65.83/22.37 mark(U52(x0, x1, x2)) 65.83/22.37 mark(s(x0)) 65.83/22.37 mark(plus(x0, x1)) 65.83/22.37 mark(U61(x0)) 65.83/22.37 mark(0) 65.83/22.37 mark(U71(x0, x1, x2)) 65.83/22.37 mark(U72(x0, x1, x2)) 65.83/22.37 mark(x(x0, x1)) 65.83/22.37 65.83/22.37 We have to consider all minimal (P,Q,R)-chains. 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (59) QDPSizeChangeProof (EQUIVALENT) 65.83/22.37 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. 65.83/22.37 65.83/22.37 From the DPs we obtained the following set of size-change graphs: 65.83/22.37 *U51^1(X1, mark(X2), X3) -> U51^1(X1, X2, X3) 65.83/22.37 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 65.83/22.37 65.83/22.37 65.83/22.37 *U51^1(mark(X1), X2, X3) -> U51^1(X1, X2, X3) 65.83/22.37 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 65.83/22.37 65.83/22.37 65.83/22.37 *U51^1(X1, X2, mark(X3)) -> U51^1(X1, X2, X3) 65.83/22.37 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 65.83/22.37 65.83/22.37 65.83/22.37 *U51^1(active(X1), X2, X3) -> U51^1(X1, X2, X3) 65.83/22.37 The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 65.83/22.37 65.83/22.37 65.83/22.37 *U51^1(X1, active(X2), X3) -> U51^1(X1, X2, X3) 65.83/22.37 The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 65.83/22.37 65.83/22.37 65.83/22.37 *U51^1(X1, X2, active(X3)) -> U51^1(X1, X2, X3) 65.83/22.37 The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 65.83/22.37 65.83/22.37 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (60) 65.83/22.37 YES 65.83/22.37 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (61) 65.83/22.37 Obligation: 65.83/22.37 Q DP problem: 65.83/22.37 The TRS P consists of the following rules: 65.83/22.37 65.83/22.37 U41^1(X1, mark(X2)) -> U41^1(X1, X2) 65.83/22.37 U41^1(mark(X1), X2) -> U41^1(X1, X2) 65.83/22.37 U41^1(active(X1), X2) -> U41^1(X1, X2) 65.83/22.37 U41^1(X1, active(X2)) -> U41^1(X1, X2) 65.83/22.37 65.83/22.37 The TRS R consists of the following rules: 65.83/22.37 65.83/22.37 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.83/22.37 active(U12(tt)) -> mark(tt) 65.83/22.37 active(U21(tt)) -> mark(tt) 65.83/22.37 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.83/22.37 active(U32(tt)) -> mark(tt) 65.83/22.37 active(U41(tt, N)) -> mark(N) 65.83/22.37 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.83/22.37 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.83/22.37 active(U61(tt)) -> mark(0) 65.83/22.37 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.83/22.37 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.83/22.37 active(isNat(0)) -> mark(tt) 65.83/22.37 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.83/22.37 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.83/22.37 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.83/22.37 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.83/22.37 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.83/22.37 active(x(N, 0)) -> mark(U61(isNat(N))) 65.83/22.37 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.83/22.37 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.83/22.37 mark(tt) -> active(tt) 65.83/22.37 mark(U12(X)) -> active(U12(mark(X))) 65.83/22.37 mark(isNat(X)) -> active(isNat(X)) 65.83/22.37 mark(U21(X)) -> active(U21(mark(X))) 65.83/22.37 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.83/22.37 mark(U32(X)) -> active(U32(mark(X))) 65.83/22.37 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.83/22.37 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.83/22.37 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.83/22.37 mark(s(X)) -> active(s(mark(X))) 65.83/22.37 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.83/22.37 mark(U61(X)) -> active(U61(mark(X))) 65.83/22.37 mark(0) -> active(0) 65.83/22.37 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.83/22.37 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.83/22.37 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.83/22.37 U11(mark(X1), X2) -> U11(X1, X2) 65.83/22.37 U11(X1, mark(X2)) -> U11(X1, X2) 65.83/22.37 U11(active(X1), X2) -> U11(X1, X2) 65.83/22.37 U11(X1, active(X2)) -> U11(X1, X2) 65.83/22.37 U12(mark(X)) -> U12(X) 65.83/22.37 U12(active(X)) -> U12(X) 65.83/22.37 isNat(mark(X)) -> isNat(X) 65.83/22.37 isNat(active(X)) -> isNat(X) 65.83/22.37 U21(mark(X)) -> U21(X) 65.83/22.37 U21(active(X)) -> U21(X) 65.83/22.37 U31(mark(X1), X2) -> U31(X1, X2) 65.83/22.37 U31(X1, mark(X2)) -> U31(X1, X2) 65.83/22.37 U31(active(X1), X2) -> U31(X1, X2) 65.83/22.37 U31(X1, active(X2)) -> U31(X1, X2) 65.83/22.37 U32(mark(X)) -> U32(X) 65.83/22.37 U32(active(X)) -> U32(X) 65.83/22.37 U41(mark(X1), X2) -> U41(X1, X2) 65.83/22.37 U41(X1, mark(X2)) -> U41(X1, X2) 65.83/22.37 U41(active(X1), X2) -> U41(X1, X2) 65.83/22.37 U41(X1, active(X2)) -> U41(X1, X2) 65.83/22.37 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.37 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.83/22.37 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.83/22.37 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.37 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.83/22.37 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.83/22.37 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.37 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.83/22.37 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.83/22.37 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.37 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.83/22.37 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.83/22.37 s(mark(X)) -> s(X) 65.83/22.37 s(active(X)) -> s(X) 65.83/22.37 plus(mark(X1), X2) -> plus(X1, X2) 65.83/22.37 plus(X1, mark(X2)) -> plus(X1, X2) 65.83/22.37 plus(active(X1), X2) -> plus(X1, X2) 65.83/22.37 plus(X1, active(X2)) -> plus(X1, X2) 65.83/22.37 U61(mark(X)) -> U61(X) 65.83/22.37 U61(active(X)) -> U61(X) 65.83/22.37 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.37 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.83/22.37 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.83/22.37 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.37 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.83/22.37 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.83/22.37 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.37 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.83/22.37 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.83/22.37 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.37 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.83/22.37 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.83/22.37 x(mark(X1), X2) -> x(X1, X2) 65.83/22.37 x(X1, mark(X2)) -> x(X1, X2) 65.83/22.37 x(active(X1), X2) -> x(X1, X2) 65.83/22.37 x(X1, active(X2)) -> x(X1, X2) 65.83/22.37 65.83/22.37 The set Q consists of the following terms: 65.83/22.37 65.83/22.37 active(U11(tt, x0)) 65.83/22.37 active(U12(tt)) 65.83/22.37 active(U21(tt)) 65.83/22.37 active(U31(tt, x0)) 65.83/22.37 active(U32(tt)) 65.83/22.37 active(U41(tt, x0)) 65.83/22.37 active(U51(tt, x0, x1)) 65.83/22.37 active(U52(tt, x0, x1)) 65.83/22.37 active(U61(tt)) 65.83/22.37 active(U71(tt, x0, x1)) 65.83/22.37 active(U72(tt, x0, x1)) 65.83/22.37 active(isNat(0)) 65.83/22.37 active(isNat(plus(x0, x1))) 65.83/22.37 active(isNat(s(x0))) 65.83/22.37 active(isNat(x(x0, x1))) 65.83/22.37 active(plus(x0, 0)) 65.83/22.37 active(plus(x0, s(x1))) 65.83/22.37 active(x(x0, 0)) 65.83/22.37 active(x(x0, s(x1))) 65.83/22.37 mark(U11(x0, x1)) 65.83/22.37 mark(tt) 65.83/22.37 mark(U12(x0)) 65.83/22.37 mark(isNat(x0)) 65.83/22.37 mark(U21(x0)) 65.83/22.37 mark(U31(x0, x1)) 65.83/22.37 mark(U32(x0)) 65.83/22.37 mark(U41(x0, x1)) 65.83/22.37 mark(U51(x0, x1, x2)) 65.83/22.37 mark(U52(x0, x1, x2)) 65.83/22.37 mark(s(x0)) 65.83/22.37 mark(plus(x0, x1)) 65.83/22.37 mark(U61(x0)) 65.83/22.37 mark(0) 65.83/22.37 mark(U71(x0, x1, x2)) 65.83/22.37 mark(U72(x0, x1, x2)) 65.83/22.37 mark(x(x0, x1)) 65.83/22.37 U11(mark(x0), x1) 65.83/22.37 U11(x0, mark(x1)) 65.83/22.37 U11(active(x0), x1) 65.83/22.37 U11(x0, active(x1)) 65.83/22.37 U12(mark(x0)) 65.83/22.37 U12(active(x0)) 65.83/22.37 isNat(mark(x0)) 65.83/22.37 isNat(active(x0)) 65.83/22.37 U21(mark(x0)) 65.83/22.37 U21(active(x0)) 65.83/22.37 U31(mark(x0), x1) 65.83/22.37 U31(x0, mark(x1)) 65.83/22.37 U31(active(x0), x1) 65.83/22.37 U31(x0, active(x1)) 65.83/22.37 U32(mark(x0)) 65.83/22.37 U32(active(x0)) 65.83/22.37 U41(mark(x0), x1) 65.83/22.37 U41(x0, mark(x1)) 65.83/22.37 U41(active(x0), x1) 65.83/22.37 U41(x0, active(x1)) 65.83/22.37 U51(mark(x0), x1, x2) 65.83/22.37 U51(x0, mark(x1), x2) 65.83/22.37 U51(x0, x1, mark(x2)) 65.83/22.37 U51(active(x0), x1, x2) 65.83/22.37 U51(x0, active(x1), x2) 65.83/22.37 U51(x0, x1, active(x2)) 65.83/22.37 U52(mark(x0), x1, x2) 65.83/22.37 U52(x0, mark(x1), x2) 65.83/22.37 U52(x0, x1, mark(x2)) 65.83/22.37 U52(active(x0), x1, x2) 65.83/22.37 U52(x0, active(x1), x2) 65.83/22.37 U52(x0, x1, active(x2)) 65.83/22.37 s(mark(x0)) 65.83/22.37 s(active(x0)) 65.83/22.37 plus(mark(x0), x1) 65.83/22.37 plus(x0, mark(x1)) 65.83/22.37 plus(active(x0), x1) 65.83/22.37 plus(x0, active(x1)) 65.83/22.37 U61(mark(x0)) 65.83/22.37 U61(active(x0)) 65.83/22.37 U71(mark(x0), x1, x2) 65.83/22.37 U71(x0, mark(x1), x2) 65.83/22.37 U71(x0, x1, mark(x2)) 65.83/22.37 U71(active(x0), x1, x2) 65.83/22.37 U71(x0, active(x1), x2) 65.83/22.37 U71(x0, x1, active(x2)) 65.83/22.37 U72(mark(x0), x1, x2) 65.83/22.37 U72(x0, mark(x1), x2) 65.83/22.37 U72(x0, x1, mark(x2)) 65.83/22.37 U72(active(x0), x1, x2) 65.83/22.37 U72(x0, active(x1), x2) 65.83/22.37 U72(x0, x1, active(x2)) 65.83/22.37 x(mark(x0), x1) 65.83/22.37 x(x0, mark(x1)) 65.83/22.37 x(active(x0), x1) 65.83/22.37 x(x0, active(x1)) 65.83/22.37 65.83/22.37 We have to consider all minimal (P,Q,R)-chains. 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (62) UsableRulesProof (EQUIVALENT) 65.83/22.37 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. 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (63) 65.83/22.37 Obligation: 65.83/22.37 Q DP problem: 65.83/22.37 The TRS P consists of the following rules: 65.83/22.37 65.83/22.37 U41^1(X1, mark(X2)) -> U41^1(X1, X2) 65.83/22.37 U41^1(mark(X1), X2) -> U41^1(X1, X2) 65.83/22.37 U41^1(active(X1), X2) -> U41^1(X1, X2) 65.83/22.37 U41^1(X1, active(X2)) -> U41^1(X1, X2) 65.83/22.37 65.83/22.37 R is empty. 65.83/22.37 The set Q consists of the following terms: 65.83/22.37 65.83/22.37 active(U11(tt, x0)) 65.83/22.37 active(U12(tt)) 65.83/22.37 active(U21(tt)) 65.83/22.37 active(U31(tt, x0)) 65.83/22.37 active(U32(tt)) 65.83/22.37 active(U41(tt, x0)) 65.83/22.37 active(U51(tt, x0, x1)) 65.83/22.37 active(U52(tt, x0, x1)) 65.83/22.37 active(U61(tt)) 65.83/22.37 active(U71(tt, x0, x1)) 65.83/22.37 active(U72(tt, x0, x1)) 65.83/22.37 active(isNat(0)) 65.83/22.37 active(isNat(plus(x0, x1))) 65.83/22.37 active(isNat(s(x0))) 65.83/22.37 active(isNat(x(x0, x1))) 65.83/22.37 active(plus(x0, 0)) 65.83/22.37 active(plus(x0, s(x1))) 65.83/22.37 active(x(x0, 0)) 65.83/22.37 active(x(x0, s(x1))) 65.83/22.37 mark(U11(x0, x1)) 65.83/22.37 mark(tt) 65.83/22.37 mark(U12(x0)) 65.83/22.37 mark(isNat(x0)) 65.83/22.37 mark(U21(x0)) 65.83/22.37 mark(U31(x0, x1)) 65.83/22.37 mark(U32(x0)) 65.83/22.37 mark(U41(x0, x1)) 65.83/22.37 mark(U51(x0, x1, x2)) 65.83/22.37 mark(U52(x0, x1, x2)) 65.83/22.37 mark(s(x0)) 65.83/22.37 mark(plus(x0, x1)) 65.83/22.37 mark(U61(x0)) 65.83/22.37 mark(0) 65.83/22.37 mark(U71(x0, x1, x2)) 65.83/22.37 mark(U72(x0, x1, x2)) 65.83/22.37 mark(x(x0, x1)) 65.83/22.37 U11(mark(x0), x1) 65.83/22.37 U11(x0, mark(x1)) 65.83/22.37 U11(active(x0), x1) 65.83/22.37 U11(x0, active(x1)) 65.83/22.37 U12(mark(x0)) 65.83/22.37 U12(active(x0)) 65.83/22.37 isNat(mark(x0)) 65.83/22.37 isNat(active(x0)) 65.83/22.37 U21(mark(x0)) 65.83/22.37 U21(active(x0)) 65.83/22.37 U31(mark(x0), x1) 65.83/22.37 U31(x0, mark(x1)) 65.83/22.37 U31(active(x0), x1) 65.83/22.37 U31(x0, active(x1)) 65.83/22.37 U32(mark(x0)) 65.83/22.37 U32(active(x0)) 65.83/22.37 U41(mark(x0), x1) 65.83/22.37 U41(x0, mark(x1)) 65.83/22.37 U41(active(x0), x1) 65.83/22.37 U41(x0, active(x1)) 65.83/22.37 U51(mark(x0), x1, x2) 65.83/22.37 U51(x0, mark(x1), x2) 65.83/22.37 U51(x0, x1, mark(x2)) 65.83/22.37 U51(active(x0), x1, x2) 65.83/22.37 U51(x0, active(x1), x2) 65.83/22.37 U51(x0, x1, active(x2)) 65.83/22.37 U52(mark(x0), x1, x2) 65.83/22.37 U52(x0, mark(x1), x2) 65.83/22.37 U52(x0, x1, mark(x2)) 65.83/22.37 U52(active(x0), x1, x2) 65.83/22.37 U52(x0, active(x1), x2) 65.83/22.37 U52(x0, x1, active(x2)) 65.83/22.37 s(mark(x0)) 65.83/22.37 s(active(x0)) 65.83/22.37 plus(mark(x0), x1) 65.83/22.37 plus(x0, mark(x1)) 65.83/22.37 plus(active(x0), x1) 65.83/22.37 plus(x0, active(x1)) 65.83/22.37 U61(mark(x0)) 65.83/22.37 U61(active(x0)) 65.83/22.37 U71(mark(x0), x1, x2) 65.83/22.37 U71(x0, mark(x1), x2) 65.83/22.37 U71(x0, x1, mark(x2)) 65.83/22.37 U71(active(x0), x1, x2) 65.83/22.37 U71(x0, active(x1), x2) 65.83/22.37 U71(x0, x1, active(x2)) 65.83/22.37 U72(mark(x0), x1, x2) 65.83/22.37 U72(x0, mark(x1), x2) 65.83/22.37 U72(x0, x1, mark(x2)) 65.83/22.37 U72(active(x0), x1, x2) 65.83/22.37 U72(x0, active(x1), x2) 65.83/22.37 U72(x0, x1, active(x2)) 65.83/22.37 x(mark(x0), x1) 65.83/22.37 x(x0, mark(x1)) 65.83/22.37 x(active(x0), x1) 65.83/22.37 x(x0, active(x1)) 65.83/22.37 65.83/22.37 We have to consider all minimal (P,Q,R)-chains. 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (64) QReductionProof (EQUIVALENT) 65.83/22.37 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.83/22.37 65.83/22.37 U11(mark(x0), x1) 65.83/22.37 U11(x0, mark(x1)) 65.83/22.37 U11(active(x0), x1) 65.83/22.37 U11(x0, active(x1)) 65.83/22.37 U12(mark(x0)) 65.83/22.37 U12(active(x0)) 65.83/22.37 isNat(mark(x0)) 65.83/22.37 isNat(active(x0)) 65.83/22.37 U21(mark(x0)) 65.83/22.37 U21(active(x0)) 65.83/22.37 U31(mark(x0), x1) 65.83/22.37 U31(x0, mark(x1)) 65.83/22.37 U31(active(x0), x1) 65.83/22.37 U31(x0, active(x1)) 65.83/22.37 U32(mark(x0)) 65.83/22.37 U32(active(x0)) 65.83/22.37 U41(mark(x0), x1) 65.83/22.37 U41(x0, mark(x1)) 65.83/22.37 U41(active(x0), x1) 65.83/22.37 U41(x0, active(x1)) 65.83/22.37 U51(mark(x0), x1, x2) 65.83/22.37 U51(x0, mark(x1), x2) 65.83/22.37 U51(x0, x1, mark(x2)) 65.83/22.37 U51(active(x0), x1, x2) 65.83/22.37 U51(x0, active(x1), x2) 65.83/22.37 U51(x0, x1, active(x2)) 65.83/22.37 U52(mark(x0), x1, x2) 65.83/22.37 U52(x0, mark(x1), x2) 65.83/22.37 U52(x0, x1, mark(x2)) 65.83/22.37 U52(active(x0), x1, x2) 65.83/22.37 U52(x0, active(x1), x2) 65.83/22.37 U52(x0, x1, active(x2)) 65.83/22.37 s(mark(x0)) 65.83/22.37 s(active(x0)) 65.83/22.37 plus(mark(x0), x1) 65.83/22.37 plus(x0, mark(x1)) 65.83/22.37 plus(active(x0), x1) 65.83/22.37 plus(x0, active(x1)) 65.83/22.37 U61(mark(x0)) 65.83/22.37 U61(active(x0)) 65.83/22.37 U71(mark(x0), x1, x2) 65.83/22.37 U71(x0, mark(x1), x2) 65.83/22.37 U71(x0, x1, mark(x2)) 65.83/22.37 U71(active(x0), x1, x2) 65.83/22.37 U71(x0, active(x1), x2) 65.83/22.37 U71(x0, x1, active(x2)) 65.83/22.37 U72(mark(x0), x1, x2) 65.83/22.37 U72(x0, mark(x1), x2) 65.83/22.37 U72(x0, x1, mark(x2)) 65.83/22.37 U72(active(x0), x1, x2) 65.83/22.37 U72(x0, active(x1), x2) 65.83/22.37 U72(x0, x1, active(x2)) 65.83/22.37 x(mark(x0), x1) 65.83/22.37 x(x0, mark(x1)) 65.83/22.37 x(active(x0), x1) 65.83/22.37 x(x0, active(x1)) 65.83/22.37 65.83/22.37 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (65) 65.83/22.37 Obligation: 65.83/22.37 Q DP problem: 65.83/22.37 The TRS P consists of the following rules: 65.83/22.37 65.83/22.37 U41^1(X1, mark(X2)) -> U41^1(X1, X2) 65.83/22.37 U41^1(mark(X1), X2) -> U41^1(X1, X2) 65.83/22.37 U41^1(active(X1), X2) -> U41^1(X1, X2) 65.83/22.37 U41^1(X1, active(X2)) -> U41^1(X1, X2) 65.83/22.37 65.83/22.37 R is empty. 65.83/22.37 The set Q consists of the following terms: 65.83/22.37 65.83/22.37 active(U11(tt, x0)) 65.83/22.37 active(U12(tt)) 65.83/22.37 active(U21(tt)) 65.83/22.37 active(U31(tt, x0)) 65.83/22.37 active(U32(tt)) 65.83/22.37 active(U41(tt, x0)) 65.83/22.37 active(U51(tt, x0, x1)) 65.83/22.37 active(U52(tt, x0, x1)) 65.83/22.37 active(U61(tt)) 65.83/22.37 active(U71(tt, x0, x1)) 65.83/22.37 active(U72(tt, x0, x1)) 65.83/22.37 active(isNat(0)) 65.83/22.37 active(isNat(plus(x0, x1))) 65.83/22.37 active(isNat(s(x0))) 65.83/22.37 active(isNat(x(x0, x1))) 65.83/22.37 active(plus(x0, 0)) 65.83/22.37 active(plus(x0, s(x1))) 65.83/22.37 active(x(x0, 0)) 65.83/22.37 active(x(x0, s(x1))) 65.83/22.37 mark(U11(x0, x1)) 65.83/22.37 mark(tt) 65.83/22.37 mark(U12(x0)) 65.83/22.37 mark(isNat(x0)) 65.83/22.37 mark(U21(x0)) 65.83/22.37 mark(U31(x0, x1)) 65.83/22.37 mark(U32(x0)) 65.83/22.37 mark(U41(x0, x1)) 65.83/22.37 mark(U51(x0, x1, x2)) 65.83/22.37 mark(U52(x0, x1, x2)) 65.83/22.37 mark(s(x0)) 65.83/22.37 mark(plus(x0, x1)) 65.83/22.37 mark(U61(x0)) 65.83/22.37 mark(0) 65.83/22.37 mark(U71(x0, x1, x2)) 65.83/22.37 mark(U72(x0, x1, x2)) 65.83/22.37 mark(x(x0, x1)) 65.83/22.37 65.83/22.37 We have to consider all minimal (P,Q,R)-chains. 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (66) QDPSizeChangeProof (EQUIVALENT) 65.83/22.37 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. 65.83/22.37 65.83/22.37 From the DPs we obtained the following set of size-change graphs: 65.83/22.37 *U41^1(X1, mark(X2)) -> U41^1(X1, X2) 65.83/22.37 The graph contains the following edges 1 >= 1, 2 > 2 65.83/22.37 65.83/22.37 65.83/22.37 *U41^1(mark(X1), X2) -> U41^1(X1, X2) 65.83/22.37 The graph contains the following edges 1 > 1, 2 >= 2 65.83/22.37 65.83/22.37 65.83/22.37 *U41^1(active(X1), X2) -> U41^1(X1, X2) 65.83/22.37 The graph contains the following edges 1 > 1, 2 >= 2 65.83/22.37 65.83/22.37 65.83/22.37 *U41^1(X1, active(X2)) -> U41^1(X1, X2) 65.83/22.37 The graph contains the following edges 1 >= 1, 2 > 2 65.83/22.37 65.83/22.37 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (67) 65.83/22.37 YES 65.83/22.37 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (68) 65.83/22.37 Obligation: 65.83/22.37 Q DP problem: 65.83/22.37 The TRS P consists of the following rules: 65.83/22.37 65.83/22.37 U32^1(active(X)) -> U32^1(X) 65.83/22.37 U32^1(mark(X)) -> U32^1(X) 65.83/22.37 65.83/22.37 The TRS R consists of the following rules: 65.83/22.37 65.83/22.37 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.83/22.37 active(U12(tt)) -> mark(tt) 65.83/22.37 active(U21(tt)) -> mark(tt) 65.83/22.37 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.83/22.37 active(U32(tt)) -> mark(tt) 65.83/22.37 active(U41(tt, N)) -> mark(N) 65.83/22.37 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.83/22.37 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.83/22.37 active(U61(tt)) -> mark(0) 65.83/22.37 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.83/22.37 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.83/22.37 active(isNat(0)) -> mark(tt) 65.83/22.37 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.83/22.37 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.83/22.37 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.83/22.37 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.83/22.37 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.83/22.37 active(x(N, 0)) -> mark(U61(isNat(N))) 65.83/22.37 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.83/22.37 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.83/22.37 mark(tt) -> active(tt) 65.83/22.37 mark(U12(X)) -> active(U12(mark(X))) 65.83/22.37 mark(isNat(X)) -> active(isNat(X)) 65.83/22.37 mark(U21(X)) -> active(U21(mark(X))) 65.83/22.37 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.83/22.37 mark(U32(X)) -> active(U32(mark(X))) 65.83/22.37 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.83/22.37 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.83/22.37 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.83/22.37 mark(s(X)) -> active(s(mark(X))) 65.83/22.37 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.83/22.37 mark(U61(X)) -> active(U61(mark(X))) 65.83/22.37 mark(0) -> active(0) 65.83/22.37 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.83/22.37 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.83/22.37 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.83/22.37 U11(mark(X1), X2) -> U11(X1, X2) 65.83/22.37 U11(X1, mark(X2)) -> U11(X1, X2) 65.83/22.37 U11(active(X1), X2) -> U11(X1, X2) 65.83/22.37 U11(X1, active(X2)) -> U11(X1, X2) 65.83/22.37 U12(mark(X)) -> U12(X) 65.83/22.37 U12(active(X)) -> U12(X) 65.83/22.37 isNat(mark(X)) -> isNat(X) 65.83/22.37 isNat(active(X)) -> isNat(X) 65.83/22.37 U21(mark(X)) -> U21(X) 65.83/22.37 U21(active(X)) -> U21(X) 65.83/22.37 U31(mark(X1), X2) -> U31(X1, X2) 65.83/22.37 U31(X1, mark(X2)) -> U31(X1, X2) 65.83/22.37 U31(active(X1), X2) -> U31(X1, X2) 65.83/22.37 U31(X1, active(X2)) -> U31(X1, X2) 65.83/22.37 U32(mark(X)) -> U32(X) 65.83/22.37 U32(active(X)) -> U32(X) 65.83/22.37 U41(mark(X1), X2) -> U41(X1, X2) 65.83/22.37 U41(X1, mark(X2)) -> U41(X1, X2) 65.83/22.37 U41(active(X1), X2) -> U41(X1, X2) 65.83/22.37 U41(X1, active(X2)) -> U41(X1, X2) 65.83/22.37 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.37 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.83/22.37 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.83/22.37 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.83/22.37 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.83/22.37 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.83/22.37 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.37 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.83/22.37 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.83/22.37 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.83/22.37 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.83/22.37 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.83/22.37 s(mark(X)) -> s(X) 65.83/22.37 s(active(X)) -> s(X) 65.83/22.37 plus(mark(X1), X2) -> plus(X1, X2) 65.83/22.37 plus(X1, mark(X2)) -> plus(X1, X2) 65.83/22.37 plus(active(X1), X2) -> plus(X1, X2) 65.83/22.37 plus(X1, active(X2)) -> plus(X1, X2) 65.83/22.37 U61(mark(X)) -> U61(X) 65.83/22.37 U61(active(X)) -> U61(X) 65.83/22.37 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.37 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.83/22.37 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.83/22.37 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.83/22.37 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.83/22.37 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.83/22.37 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.37 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.83/22.37 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.83/22.37 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.83/22.37 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.83/22.37 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.83/22.37 x(mark(X1), X2) -> x(X1, X2) 65.83/22.37 x(X1, mark(X2)) -> x(X1, X2) 65.83/22.37 x(active(X1), X2) -> x(X1, X2) 65.83/22.37 x(X1, active(X2)) -> x(X1, X2) 65.83/22.37 65.83/22.37 The set Q consists of the following terms: 65.83/22.37 65.83/22.37 active(U11(tt, x0)) 65.83/22.37 active(U12(tt)) 65.83/22.37 active(U21(tt)) 65.83/22.37 active(U31(tt, x0)) 65.83/22.37 active(U32(tt)) 65.83/22.37 active(U41(tt, x0)) 65.83/22.37 active(U51(tt, x0, x1)) 65.83/22.37 active(U52(tt, x0, x1)) 65.83/22.37 active(U61(tt)) 65.83/22.37 active(U71(tt, x0, x1)) 65.83/22.37 active(U72(tt, x0, x1)) 65.83/22.37 active(isNat(0)) 65.83/22.37 active(isNat(plus(x0, x1))) 65.83/22.37 active(isNat(s(x0))) 65.83/22.37 active(isNat(x(x0, x1))) 65.83/22.37 active(plus(x0, 0)) 65.83/22.37 active(plus(x0, s(x1))) 65.83/22.37 active(x(x0, 0)) 65.83/22.37 active(x(x0, s(x1))) 65.83/22.37 mark(U11(x0, x1)) 65.83/22.37 mark(tt) 65.83/22.37 mark(U12(x0)) 65.83/22.37 mark(isNat(x0)) 65.83/22.37 mark(U21(x0)) 65.83/22.37 mark(U31(x0, x1)) 65.83/22.37 mark(U32(x0)) 65.83/22.37 mark(U41(x0, x1)) 65.83/22.37 mark(U51(x0, x1, x2)) 65.83/22.37 mark(U52(x0, x1, x2)) 65.83/22.37 mark(s(x0)) 65.83/22.37 mark(plus(x0, x1)) 65.83/22.37 mark(U61(x0)) 65.83/22.37 mark(0) 65.83/22.37 mark(U71(x0, x1, x2)) 65.83/22.37 mark(U72(x0, x1, x2)) 65.83/22.37 mark(x(x0, x1)) 65.83/22.37 U11(mark(x0), x1) 65.83/22.37 U11(x0, mark(x1)) 65.83/22.37 U11(active(x0), x1) 65.83/22.37 U11(x0, active(x1)) 65.83/22.37 U12(mark(x0)) 65.83/22.37 U12(active(x0)) 65.83/22.37 isNat(mark(x0)) 65.83/22.37 isNat(active(x0)) 65.83/22.37 U21(mark(x0)) 65.83/22.37 U21(active(x0)) 65.83/22.37 U31(mark(x0), x1) 65.83/22.37 U31(x0, mark(x1)) 65.83/22.37 U31(active(x0), x1) 65.83/22.37 U31(x0, active(x1)) 65.83/22.37 U32(mark(x0)) 65.83/22.37 U32(active(x0)) 65.83/22.37 U41(mark(x0), x1) 65.83/22.37 U41(x0, mark(x1)) 65.83/22.37 U41(active(x0), x1) 65.83/22.37 U41(x0, active(x1)) 65.83/22.37 U51(mark(x0), x1, x2) 65.83/22.37 U51(x0, mark(x1), x2) 65.83/22.37 U51(x0, x1, mark(x2)) 65.83/22.37 U51(active(x0), x1, x2) 65.83/22.37 U51(x0, active(x1), x2) 65.83/22.37 U51(x0, x1, active(x2)) 65.83/22.37 U52(mark(x0), x1, x2) 65.83/22.37 U52(x0, mark(x1), x2) 65.83/22.37 U52(x0, x1, mark(x2)) 65.83/22.37 U52(active(x0), x1, x2) 65.83/22.37 U52(x0, active(x1), x2) 65.83/22.37 U52(x0, x1, active(x2)) 65.83/22.37 s(mark(x0)) 65.83/22.37 s(active(x0)) 65.83/22.37 plus(mark(x0), x1) 65.83/22.37 plus(x0, mark(x1)) 65.83/22.37 plus(active(x0), x1) 65.83/22.37 plus(x0, active(x1)) 65.83/22.37 U61(mark(x0)) 65.83/22.37 U61(active(x0)) 65.83/22.37 U71(mark(x0), x1, x2) 65.83/22.37 U71(x0, mark(x1), x2) 65.83/22.37 U71(x0, x1, mark(x2)) 65.83/22.37 U71(active(x0), x1, x2) 65.83/22.37 U71(x0, active(x1), x2) 65.83/22.37 U71(x0, x1, active(x2)) 65.83/22.37 U72(mark(x0), x1, x2) 65.83/22.37 U72(x0, mark(x1), x2) 65.83/22.37 U72(x0, x1, mark(x2)) 65.83/22.37 U72(active(x0), x1, x2) 65.83/22.37 U72(x0, active(x1), x2) 65.83/22.37 U72(x0, x1, active(x2)) 65.83/22.37 x(mark(x0), x1) 65.83/22.37 x(x0, mark(x1)) 65.83/22.37 x(active(x0), x1) 65.83/22.37 x(x0, active(x1)) 65.83/22.37 65.83/22.37 We have to consider all minimal (P,Q,R)-chains. 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (69) UsableRulesProof (EQUIVALENT) 65.83/22.37 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. 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (70) 65.83/22.37 Obligation: 65.83/22.37 Q DP problem: 65.83/22.37 The TRS P consists of the following rules: 65.83/22.37 65.83/22.37 U32^1(active(X)) -> U32^1(X) 65.83/22.37 U32^1(mark(X)) -> U32^1(X) 65.83/22.37 65.83/22.37 R is empty. 65.83/22.37 The set Q consists of the following terms: 65.83/22.37 65.83/22.37 active(U11(tt, x0)) 65.83/22.37 active(U12(tt)) 65.83/22.37 active(U21(tt)) 65.83/22.37 active(U31(tt, x0)) 65.83/22.37 active(U32(tt)) 65.83/22.37 active(U41(tt, x0)) 65.83/22.37 active(U51(tt, x0, x1)) 65.83/22.37 active(U52(tt, x0, x1)) 65.83/22.37 active(U61(tt)) 65.83/22.37 active(U71(tt, x0, x1)) 65.83/22.37 active(U72(tt, x0, x1)) 65.83/22.37 active(isNat(0)) 65.83/22.37 active(isNat(plus(x0, x1))) 65.83/22.37 active(isNat(s(x0))) 65.83/22.37 active(isNat(x(x0, x1))) 65.83/22.37 active(plus(x0, 0)) 65.83/22.37 active(plus(x0, s(x1))) 65.83/22.37 active(x(x0, 0)) 65.83/22.37 active(x(x0, s(x1))) 65.83/22.37 mark(U11(x0, x1)) 65.83/22.37 mark(tt) 65.83/22.37 mark(U12(x0)) 65.83/22.37 mark(isNat(x0)) 65.83/22.37 mark(U21(x0)) 65.83/22.37 mark(U31(x0, x1)) 65.83/22.37 mark(U32(x0)) 65.83/22.37 mark(U41(x0, x1)) 65.83/22.37 mark(U51(x0, x1, x2)) 65.83/22.37 mark(U52(x0, x1, x2)) 65.83/22.37 mark(s(x0)) 65.83/22.37 mark(plus(x0, x1)) 65.83/22.37 mark(U61(x0)) 65.83/22.37 mark(0) 65.83/22.37 mark(U71(x0, x1, x2)) 65.83/22.37 mark(U72(x0, x1, x2)) 65.83/22.37 mark(x(x0, x1)) 65.83/22.37 U11(mark(x0), x1) 65.83/22.37 U11(x0, mark(x1)) 65.83/22.37 U11(active(x0), x1) 65.83/22.37 U11(x0, active(x1)) 65.83/22.37 U12(mark(x0)) 65.83/22.37 U12(active(x0)) 65.83/22.37 isNat(mark(x0)) 65.83/22.37 isNat(active(x0)) 65.83/22.37 U21(mark(x0)) 65.83/22.37 U21(active(x0)) 65.83/22.37 U31(mark(x0), x1) 65.83/22.37 U31(x0, mark(x1)) 65.83/22.37 U31(active(x0), x1) 65.83/22.37 U31(x0, active(x1)) 65.83/22.37 U32(mark(x0)) 65.83/22.37 U32(active(x0)) 65.83/22.37 U41(mark(x0), x1) 65.83/22.37 U41(x0, mark(x1)) 65.83/22.37 U41(active(x0), x1) 65.83/22.37 U41(x0, active(x1)) 65.83/22.37 U51(mark(x0), x1, x2) 65.83/22.37 U51(x0, mark(x1), x2) 65.83/22.37 U51(x0, x1, mark(x2)) 65.83/22.37 U51(active(x0), x1, x2) 65.83/22.37 U51(x0, active(x1), x2) 65.83/22.37 U51(x0, x1, active(x2)) 65.83/22.37 U52(mark(x0), x1, x2) 65.83/22.37 U52(x0, mark(x1), x2) 65.83/22.37 U52(x0, x1, mark(x2)) 65.83/22.37 U52(active(x0), x1, x2) 65.83/22.37 U52(x0, active(x1), x2) 65.83/22.37 U52(x0, x1, active(x2)) 65.83/22.37 s(mark(x0)) 65.83/22.37 s(active(x0)) 65.83/22.37 plus(mark(x0), x1) 65.83/22.37 plus(x0, mark(x1)) 65.83/22.37 plus(active(x0), x1) 65.83/22.37 plus(x0, active(x1)) 65.83/22.37 U61(mark(x0)) 65.83/22.37 U61(active(x0)) 65.83/22.37 U71(mark(x0), x1, x2) 65.83/22.37 U71(x0, mark(x1), x2) 65.83/22.37 U71(x0, x1, mark(x2)) 65.83/22.37 U71(active(x0), x1, x2) 65.83/22.37 U71(x0, active(x1), x2) 65.83/22.37 U71(x0, x1, active(x2)) 65.83/22.37 U72(mark(x0), x1, x2) 65.83/22.37 U72(x0, mark(x1), x2) 65.83/22.37 U72(x0, x1, mark(x2)) 65.83/22.37 U72(active(x0), x1, x2) 65.83/22.37 U72(x0, active(x1), x2) 65.83/22.37 U72(x0, x1, active(x2)) 65.83/22.37 x(mark(x0), x1) 65.83/22.37 x(x0, mark(x1)) 65.83/22.37 x(active(x0), x1) 65.83/22.37 x(x0, active(x1)) 65.83/22.37 65.83/22.37 We have to consider all minimal (P,Q,R)-chains. 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (71) QReductionProof (EQUIVALENT) 65.83/22.37 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.83/22.37 65.83/22.37 U11(mark(x0), x1) 65.83/22.37 U11(x0, mark(x1)) 65.83/22.37 U11(active(x0), x1) 65.83/22.37 U11(x0, active(x1)) 65.83/22.37 U12(mark(x0)) 65.83/22.37 U12(active(x0)) 65.83/22.37 isNat(mark(x0)) 65.83/22.37 isNat(active(x0)) 65.83/22.37 U21(mark(x0)) 65.83/22.37 U21(active(x0)) 65.83/22.37 U31(mark(x0), x1) 65.83/22.37 U31(x0, mark(x1)) 65.83/22.37 U31(active(x0), x1) 65.83/22.37 U31(x0, active(x1)) 65.83/22.37 U32(mark(x0)) 65.83/22.37 U32(active(x0)) 65.83/22.37 U41(mark(x0), x1) 65.83/22.37 U41(x0, mark(x1)) 65.83/22.37 U41(active(x0), x1) 65.83/22.37 U41(x0, active(x1)) 65.83/22.37 U51(mark(x0), x1, x2) 65.83/22.37 U51(x0, mark(x1), x2) 65.83/22.37 U51(x0, x1, mark(x2)) 65.83/22.37 U51(active(x0), x1, x2) 65.83/22.37 U51(x0, active(x1), x2) 65.83/22.37 U51(x0, x1, active(x2)) 65.83/22.37 U52(mark(x0), x1, x2) 65.83/22.37 U52(x0, mark(x1), x2) 65.83/22.37 U52(x0, x1, mark(x2)) 65.83/22.37 U52(active(x0), x1, x2) 65.83/22.37 U52(x0, active(x1), x2) 65.83/22.37 U52(x0, x1, active(x2)) 65.83/22.37 s(mark(x0)) 65.83/22.37 s(active(x0)) 65.83/22.37 plus(mark(x0), x1) 65.83/22.37 plus(x0, mark(x1)) 65.83/22.37 plus(active(x0), x1) 65.83/22.37 plus(x0, active(x1)) 65.83/22.37 U61(mark(x0)) 65.83/22.37 U61(active(x0)) 65.83/22.37 U71(mark(x0), x1, x2) 65.83/22.37 U71(x0, mark(x1), x2) 65.83/22.37 U71(x0, x1, mark(x2)) 65.83/22.37 U71(active(x0), x1, x2) 65.83/22.37 U71(x0, active(x1), x2) 65.83/22.37 U71(x0, x1, active(x2)) 65.83/22.37 U72(mark(x0), x1, x2) 65.83/22.37 U72(x0, mark(x1), x2) 65.83/22.37 U72(x0, x1, mark(x2)) 65.83/22.37 U72(active(x0), x1, x2) 65.83/22.37 U72(x0, active(x1), x2) 65.83/22.37 U72(x0, x1, active(x2)) 65.83/22.37 x(mark(x0), x1) 65.83/22.37 x(x0, mark(x1)) 65.83/22.37 x(active(x0), x1) 65.83/22.37 x(x0, active(x1)) 65.83/22.37 65.83/22.37 65.83/22.37 ---------------------------------------- 65.83/22.37 65.83/22.37 (72) 65.83/22.37 Obligation: 65.83/22.37 Q DP problem: 65.83/22.37 The TRS P consists of the following rules: 65.83/22.37 65.83/22.37 U32^1(active(X)) -> U32^1(X) 65.83/22.37 U32^1(mark(X)) -> U32^1(X) 65.83/22.37 65.83/22.37 R is empty. 65.83/22.37 The set Q consists of the following terms: 65.83/22.37 65.83/22.37 active(U11(tt, x0)) 65.83/22.37 active(U12(tt)) 65.83/22.37 active(U21(tt)) 65.83/22.37 active(U31(tt, x0)) 65.83/22.37 active(U32(tt)) 65.83/22.37 active(U41(tt, x0)) 65.83/22.37 active(U51(tt, x0, x1)) 65.95/22.37 active(U52(tt, x0, x1)) 65.95/22.37 active(U61(tt)) 65.95/22.37 active(U71(tt, x0, x1)) 65.95/22.37 active(U72(tt, x0, x1)) 65.95/22.37 active(isNat(0)) 65.95/22.37 active(isNat(plus(x0, x1))) 65.95/22.37 active(isNat(s(x0))) 65.95/22.37 active(isNat(x(x0, x1))) 65.95/22.37 active(plus(x0, 0)) 65.95/22.37 active(plus(x0, s(x1))) 65.95/22.37 active(x(x0, 0)) 65.95/22.37 active(x(x0, s(x1))) 65.95/22.37 mark(U11(x0, x1)) 65.95/22.37 mark(tt) 65.95/22.37 mark(U12(x0)) 65.95/22.37 mark(isNat(x0)) 65.95/22.37 mark(U21(x0)) 65.95/22.37 mark(U31(x0, x1)) 65.95/22.37 mark(U32(x0)) 65.95/22.37 mark(U41(x0, x1)) 65.95/22.37 mark(U51(x0, x1, x2)) 65.95/22.37 mark(U52(x0, x1, x2)) 65.95/22.37 mark(s(x0)) 65.95/22.37 mark(plus(x0, x1)) 65.95/22.37 mark(U61(x0)) 65.95/22.37 mark(0) 65.95/22.37 mark(U71(x0, x1, x2)) 65.95/22.37 mark(U72(x0, x1, x2)) 65.95/22.37 mark(x(x0, x1)) 65.95/22.37 65.95/22.37 We have to consider all minimal (P,Q,R)-chains. 65.95/22.37 ---------------------------------------- 65.95/22.37 65.95/22.37 (73) QDPSizeChangeProof (EQUIVALENT) 65.95/22.37 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. 65.95/22.37 65.95/22.37 From the DPs we obtained the following set of size-change graphs: 65.95/22.37 *U32^1(active(X)) -> U32^1(X) 65.95/22.37 The graph contains the following edges 1 > 1 65.95/22.37 65.95/22.37 65.95/22.37 *U32^1(mark(X)) -> U32^1(X) 65.95/22.37 The graph contains the following edges 1 > 1 65.95/22.37 65.95/22.37 65.95/22.37 ---------------------------------------- 65.95/22.37 65.95/22.37 (74) 65.95/22.37 YES 65.95/22.37 65.95/22.37 ---------------------------------------- 65.95/22.37 65.95/22.37 (75) 65.95/22.37 Obligation: 65.95/22.37 Q DP problem: 65.95/22.37 The TRS P consists of the following rules: 65.95/22.37 65.95/22.37 U31^1(X1, mark(X2)) -> U31^1(X1, X2) 65.95/22.37 U31^1(mark(X1), X2) -> U31^1(X1, X2) 65.95/22.37 U31^1(active(X1), X2) -> U31^1(X1, X2) 65.95/22.37 U31^1(X1, active(X2)) -> U31^1(X1, X2) 65.95/22.37 65.95/22.37 The TRS R consists of the following rules: 65.95/22.37 65.95/22.37 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.37 active(U12(tt)) -> mark(tt) 65.95/22.37 active(U21(tt)) -> mark(tt) 65.95/22.37 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.37 active(U32(tt)) -> mark(tt) 65.95/22.37 active(U41(tt, N)) -> mark(N) 65.95/22.37 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.37 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.37 active(U61(tt)) -> mark(0) 65.95/22.37 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.37 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.37 active(isNat(0)) -> mark(tt) 65.95/22.37 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.37 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.37 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.37 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.37 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.37 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.37 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.37 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.37 mark(tt) -> active(tt) 65.95/22.37 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.37 mark(isNat(X)) -> active(isNat(X)) 65.95/22.37 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.37 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.37 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.37 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.37 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.37 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.37 mark(s(X)) -> active(s(mark(X))) 65.95/22.37 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.37 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.37 mark(0) -> active(0) 65.95/22.37 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.37 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.37 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.37 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.37 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.37 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.37 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.37 U12(mark(X)) -> U12(X) 65.95/22.37 U12(active(X)) -> U12(X) 65.95/22.37 isNat(mark(X)) -> isNat(X) 65.95/22.37 isNat(active(X)) -> isNat(X) 65.95/22.37 U21(mark(X)) -> U21(X) 65.95/22.37 U21(active(X)) -> U21(X) 65.95/22.37 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.37 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.37 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.37 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.37 U32(mark(X)) -> U32(X) 65.95/22.37 U32(active(X)) -> U32(X) 65.95/22.37 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.37 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.37 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.37 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.37 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.37 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.37 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.37 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.37 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.37 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.37 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.37 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.37 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.37 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.37 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.37 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.37 s(mark(X)) -> s(X) 65.95/22.37 s(active(X)) -> s(X) 65.95/22.37 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.37 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.37 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.37 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.37 U61(mark(X)) -> U61(X) 65.95/22.37 U61(active(X)) -> U61(X) 65.95/22.37 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.37 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.37 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.37 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.37 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.37 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.37 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.37 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.37 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.37 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.37 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.37 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.37 x(mark(X1), X2) -> x(X1, X2) 65.95/22.37 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.37 x(active(X1), X2) -> x(X1, X2) 65.95/22.37 x(X1, active(X2)) -> x(X1, X2) 65.95/22.37 65.95/22.37 The set Q consists of the following terms: 65.95/22.37 65.95/22.37 active(U11(tt, x0)) 65.95/22.37 active(U12(tt)) 65.95/22.37 active(U21(tt)) 65.95/22.37 active(U31(tt, x0)) 65.95/22.37 active(U32(tt)) 65.95/22.37 active(U41(tt, x0)) 65.95/22.37 active(U51(tt, x0, x1)) 65.95/22.37 active(U52(tt, x0, x1)) 65.95/22.37 active(U61(tt)) 65.95/22.37 active(U71(tt, x0, x1)) 65.95/22.37 active(U72(tt, x0, x1)) 65.95/22.37 active(isNat(0)) 65.95/22.37 active(isNat(plus(x0, x1))) 65.95/22.37 active(isNat(s(x0))) 65.95/22.37 active(isNat(x(x0, x1))) 65.95/22.37 active(plus(x0, 0)) 65.95/22.37 active(plus(x0, s(x1))) 65.95/22.37 active(x(x0, 0)) 65.95/22.37 active(x(x0, s(x1))) 65.95/22.37 mark(U11(x0, x1)) 65.95/22.37 mark(tt) 65.95/22.37 mark(U12(x0)) 65.95/22.37 mark(isNat(x0)) 65.95/22.37 mark(U21(x0)) 65.95/22.37 mark(U31(x0, x1)) 65.95/22.37 mark(U32(x0)) 65.95/22.37 mark(U41(x0, x1)) 65.95/22.37 mark(U51(x0, x1, x2)) 65.95/22.37 mark(U52(x0, x1, x2)) 65.95/22.37 mark(s(x0)) 65.95/22.37 mark(plus(x0, x1)) 65.95/22.37 mark(U61(x0)) 65.95/22.37 mark(0) 65.95/22.37 mark(U71(x0, x1, x2)) 65.95/22.37 mark(U72(x0, x1, x2)) 65.95/22.37 mark(x(x0, x1)) 65.95/22.37 U11(mark(x0), x1) 65.95/22.37 U11(x0, mark(x1)) 65.95/22.37 U11(active(x0), x1) 65.95/22.37 U11(x0, active(x1)) 65.95/22.37 U12(mark(x0)) 65.95/22.37 U12(active(x0)) 65.95/22.37 isNat(mark(x0)) 65.95/22.37 isNat(active(x0)) 65.95/22.37 U21(mark(x0)) 65.95/22.37 U21(active(x0)) 65.95/22.37 U31(mark(x0), x1) 65.95/22.37 U31(x0, mark(x1)) 65.95/22.37 U31(active(x0), x1) 65.95/22.37 U31(x0, active(x1)) 65.95/22.37 U32(mark(x0)) 65.95/22.37 U32(active(x0)) 65.95/22.37 U41(mark(x0), x1) 65.95/22.37 U41(x0, mark(x1)) 65.95/22.37 U41(active(x0), x1) 65.95/22.37 U41(x0, active(x1)) 65.95/22.37 U51(mark(x0), x1, x2) 65.95/22.37 U51(x0, mark(x1), x2) 65.95/22.37 U51(x0, x1, mark(x2)) 65.95/22.37 U51(active(x0), x1, x2) 65.95/22.37 U51(x0, active(x1), x2) 65.95/22.37 U51(x0, x1, active(x2)) 65.95/22.37 U52(mark(x0), x1, x2) 65.95/22.37 U52(x0, mark(x1), x2) 65.95/22.37 U52(x0, x1, mark(x2)) 65.95/22.37 U52(active(x0), x1, x2) 65.95/22.37 U52(x0, active(x1), x2) 65.95/22.37 U52(x0, x1, active(x2)) 65.95/22.37 s(mark(x0)) 65.95/22.37 s(active(x0)) 65.95/22.37 plus(mark(x0), x1) 65.95/22.37 plus(x0, mark(x1)) 65.95/22.37 plus(active(x0), x1) 65.95/22.37 plus(x0, active(x1)) 65.95/22.37 U61(mark(x0)) 65.95/22.37 U61(active(x0)) 65.95/22.37 U71(mark(x0), x1, x2) 65.95/22.37 U71(x0, mark(x1), x2) 65.95/22.37 U71(x0, x1, mark(x2)) 65.95/22.37 U71(active(x0), x1, x2) 65.95/22.37 U71(x0, active(x1), x2) 65.95/22.37 U71(x0, x1, active(x2)) 65.95/22.37 U72(mark(x0), x1, x2) 65.95/22.37 U72(x0, mark(x1), x2) 65.95/22.37 U72(x0, x1, mark(x2)) 65.95/22.37 U72(active(x0), x1, x2) 65.95/22.37 U72(x0, active(x1), x2) 65.95/22.37 U72(x0, x1, active(x2)) 65.95/22.37 x(mark(x0), x1) 65.95/22.37 x(x0, mark(x1)) 65.95/22.37 x(active(x0), x1) 65.95/22.37 x(x0, active(x1)) 65.95/22.37 65.95/22.37 We have to consider all minimal (P,Q,R)-chains. 65.95/22.37 ---------------------------------------- 65.95/22.37 65.95/22.37 (76) UsableRulesProof (EQUIVALENT) 65.95/22.37 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. 65.95/22.37 ---------------------------------------- 65.95/22.37 65.95/22.37 (77) 65.95/22.37 Obligation: 65.95/22.37 Q DP problem: 65.95/22.37 The TRS P consists of the following rules: 65.95/22.37 65.95/22.37 U31^1(X1, mark(X2)) -> U31^1(X1, X2) 65.95/22.37 U31^1(mark(X1), X2) -> U31^1(X1, X2) 65.95/22.37 U31^1(active(X1), X2) -> U31^1(X1, X2) 65.95/22.37 U31^1(X1, active(X2)) -> U31^1(X1, X2) 65.95/22.37 65.95/22.37 R is empty. 65.95/22.37 The set Q consists of the following terms: 65.95/22.37 65.95/22.37 active(U11(tt, x0)) 65.95/22.37 active(U12(tt)) 65.95/22.37 active(U21(tt)) 65.95/22.37 active(U31(tt, x0)) 65.95/22.37 active(U32(tt)) 65.95/22.37 active(U41(tt, x0)) 65.95/22.37 active(U51(tt, x0, x1)) 65.95/22.37 active(U52(tt, x0, x1)) 65.95/22.37 active(U61(tt)) 65.95/22.37 active(U71(tt, x0, x1)) 65.95/22.37 active(U72(tt, x0, x1)) 65.95/22.37 active(isNat(0)) 65.95/22.37 active(isNat(plus(x0, x1))) 65.95/22.37 active(isNat(s(x0))) 65.95/22.37 active(isNat(x(x0, x1))) 65.95/22.37 active(plus(x0, 0)) 65.95/22.37 active(plus(x0, s(x1))) 65.95/22.37 active(x(x0, 0)) 65.95/22.37 active(x(x0, s(x1))) 65.95/22.37 mark(U11(x0, x1)) 65.95/22.37 mark(tt) 65.95/22.37 mark(U12(x0)) 65.95/22.37 mark(isNat(x0)) 65.95/22.37 mark(U21(x0)) 65.95/22.37 mark(U31(x0, x1)) 65.95/22.37 mark(U32(x0)) 65.95/22.37 mark(U41(x0, x1)) 65.95/22.37 mark(U51(x0, x1, x2)) 65.95/22.37 mark(U52(x0, x1, x2)) 65.95/22.37 mark(s(x0)) 65.95/22.37 mark(plus(x0, x1)) 65.95/22.37 mark(U61(x0)) 65.95/22.37 mark(0) 65.95/22.37 mark(U71(x0, x1, x2)) 65.95/22.37 mark(U72(x0, x1, x2)) 65.95/22.37 mark(x(x0, x1)) 65.95/22.37 U11(mark(x0), x1) 65.95/22.37 U11(x0, mark(x1)) 65.95/22.37 U11(active(x0), x1) 65.95/22.37 U11(x0, active(x1)) 65.95/22.37 U12(mark(x0)) 65.95/22.37 U12(active(x0)) 65.95/22.37 isNat(mark(x0)) 65.95/22.37 isNat(active(x0)) 65.95/22.37 U21(mark(x0)) 65.95/22.37 U21(active(x0)) 65.95/22.37 U31(mark(x0), x1) 65.95/22.37 U31(x0, mark(x1)) 65.95/22.37 U31(active(x0), x1) 65.95/22.37 U31(x0, active(x1)) 65.95/22.37 U32(mark(x0)) 65.95/22.37 U32(active(x0)) 65.95/22.37 U41(mark(x0), x1) 65.95/22.37 U41(x0, mark(x1)) 65.95/22.37 U41(active(x0), x1) 65.95/22.37 U41(x0, active(x1)) 65.95/22.37 U51(mark(x0), x1, x2) 65.95/22.37 U51(x0, mark(x1), x2) 65.95/22.37 U51(x0, x1, mark(x2)) 65.95/22.37 U51(active(x0), x1, x2) 65.95/22.37 U51(x0, active(x1), x2) 65.95/22.37 U51(x0, x1, active(x2)) 65.95/22.37 U52(mark(x0), x1, x2) 65.95/22.37 U52(x0, mark(x1), x2) 65.95/22.37 U52(x0, x1, mark(x2)) 65.95/22.37 U52(active(x0), x1, x2) 65.95/22.37 U52(x0, active(x1), x2) 65.95/22.37 U52(x0, x1, active(x2)) 65.95/22.37 s(mark(x0)) 65.95/22.37 s(active(x0)) 65.95/22.37 plus(mark(x0), x1) 65.95/22.37 plus(x0, mark(x1)) 65.95/22.37 plus(active(x0), x1) 65.95/22.37 plus(x0, active(x1)) 65.95/22.37 U61(mark(x0)) 65.95/22.37 U61(active(x0)) 65.95/22.37 U71(mark(x0), x1, x2) 65.95/22.37 U71(x0, mark(x1), x2) 65.95/22.37 U71(x0, x1, mark(x2)) 65.95/22.37 U71(active(x0), x1, x2) 65.95/22.37 U71(x0, active(x1), x2) 65.95/22.37 U71(x0, x1, active(x2)) 65.95/22.37 U72(mark(x0), x1, x2) 65.95/22.37 U72(x0, mark(x1), x2) 65.95/22.37 U72(x0, x1, mark(x2)) 65.95/22.37 U72(active(x0), x1, x2) 65.95/22.37 U72(x0, active(x1), x2) 65.95/22.37 U72(x0, x1, active(x2)) 65.95/22.37 x(mark(x0), x1) 65.95/22.37 x(x0, mark(x1)) 65.95/22.37 x(active(x0), x1) 65.95/22.37 x(x0, active(x1)) 65.95/22.37 65.95/22.37 We have to consider all minimal (P,Q,R)-chains. 65.95/22.37 ---------------------------------------- 65.95/22.37 65.95/22.37 (78) QReductionProof (EQUIVALENT) 65.95/22.37 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.95/22.37 65.95/22.37 U11(mark(x0), x1) 65.95/22.37 U11(x0, mark(x1)) 65.95/22.37 U11(active(x0), x1) 65.95/22.37 U11(x0, active(x1)) 65.95/22.37 U12(mark(x0)) 65.95/22.37 U12(active(x0)) 65.95/22.37 isNat(mark(x0)) 65.95/22.37 isNat(active(x0)) 65.95/22.37 U21(mark(x0)) 65.95/22.37 U21(active(x0)) 65.95/22.37 U31(mark(x0), x1) 65.95/22.37 U31(x0, mark(x1)) 65.95/22.37 U31(active(x0), x1) 65.95/22.37 U31(x0, active(x1)) 65.95/22.37 U32(mark(x0)) 65.95/22.37 U32(active(x0)) 65.95/22.37 U41(mark(x0), x1) 65.95/22.37 U41(x0, mark(x1)) 65.95/22.37 U41(active(x0), x1) 65.95/22.37 U41(x0, active(x1)) 65.95/22.37 U51(mark(x0), x1, x2) 65.95/22.37 U51(x0, mark(x1), x2) 65.95/22.37 U51(x0, x1, mark(x2)) 65.95/22.37 U51(active(x0), x1, x2) 65.95/22.37 U51(x0, active(x1), x2) 65.95/22.37 U51(x0, x1, active(x2)) 65.95/22.37 U52(mark(x0), x1, x2) 65.95/22.37 U52(x0, mark(x1), x2) 65.95/22.37 U52(x0, x1, mark(x2)) 65.95/22.37 U52(active(x0), x1, x2) 65.95/22.37 U52(x0, active(x1), x2) 65.95/22.37 U52(x0, x1, active(x2)) 65.95/22.37 s(mark(x0)) 65.95/22.37 s(active(x0)) 65.95/22.37 plus(mark(x0), x1) 65.95/22.37 plus(x0, mark(x1)) 65.95/22.37 plus(active(x0), x1) 65.95/22.37 plus(x0, active(x1)) 65.95/22.37 U61(mark(x0)) 65.95/22.37 U61(active(x0)) 65.95/22.37 U71(mark(x0), x1, x2) 65.95/22.37 U71(x0, mark(x1), x2) 65.95/22.37 U71(x0, x1, mark(x2)) 65.95/22.37 U71(active(x0), x1, x2) 65.95/22.37 U71(x0, active(x1), x2) 65.95/22.37 U71(x0, x1, active(x2)) 65.95/22.37 U72(mark(x0), x1, x2) 65.95/22.37 U72(x0, mark(x1), x2) 65.95/22.37 U72(x0, x1, mark(x2)) 65.95/22.37 U72(active(x0), x1, x2) 65.95/22.37 U72(x0, active(x1), x2) 65.95/22.37 U72(x0, x1, active(x2)) 65.95/22.37 x(mark(x0), x1) 65.95/22.37 x(x0, mark(x1)) 65.95/22.37 x(active(x0), x1) 65.95/22.37 x(x0, active(x1)) 65.95/22.37 65.95/22.37 65.95/22.37 ---------------------------------------- 65.95/22.37 65.95/22.37 (79) 65.95/22.37 Obligation: 65.95/22.37 Q DP problem: 65.95/22.37 The TRS P consists of the following rules: 65.95/22.37 65.95/22.37 U31^1(X1, mark(X2)) -> U31^1(X1, X2) 65.95/22.37 U31^1(mark(X1), X2) -> U31^1(X1, X2) 65.95/22.37 U31^1(active(X1), X2) -> U31^1(X1, X2) 65.95/22.37 U31^1(X1, active(X2)) -> U31^1(X1, X2) 65.95/22.37 65.95/22.37 R is empty. 65.95/22.37 The set Q consists of the following terms: 65.95/22.37 65.95/22.37 active(U11(tt, x0)) 65.95/22.37 active(U12(tt)) 65.95/22.37 active(U21(tt)) 65.95/22.37 active(U31(tt, x0)) 65.95/22.37 active(U32(tt)) 65.95/22.37 active(U41(tt, x0)) 65.95/22.37 active(U51(tt, x0, x1)) 65.95/22.37 active(U52(tt, x0, x1)) 65.95/22.37 active(U61(tt)) 65.95/22.37 active(U71(tt, x0, x1)) 65.95/22.37 active(U72(tt, x0, x1)) 65.95/22.37 active(isNat(0)) 65.95/22.37 active(isNat(plus(x0, x1))) 65.95/22.37 active(isNat(s(x0))) 65.95/22.37 active(isNat(x(x0, x1))) 65.95/22.37 active(plus(x0, 0)) 65.95/22.37 active(plus(x0, s(x1))) 65.95/22.37 active(x(x0, 0)) 65.95/22.37 active(x(x0, s(x1))) 65.95/22.37 mark(U11(x0, x1)) 65.95/22.37 mark(tt) 65.95/22.37 mark(U12(x0)) 65.95/22.37 mark(isNat(x0)) 65.95/22.37 mark(U21(x0)) 65.95/22.37 mark(U31(x0, x1)) 65.95/22.37 mark(U32(x0)) 65.95/22.37 mark(U41(x0, x1)) 65.95/22.37 mark(U51(x0, x1, x2)) 65.95/22.37 mark(U52(x0, x1, x2)) 65.95/22.37 mark(s(x0)) 65.95/22.37 mark(plus(x0, x1)) 65.95/22.37 mark(U61(x0)) 65.95/22.37 mark(0) 65.95/22.37 mark(U71(x0, x1, x2)) 65.95/22.37 mark(U72(x0, x1, x2)) 65.95/22.37 mark(x(x0, x1)) 65.95/22.37 65.95/22.37 We have to consider all minimal (P,Q,R)-chains. 65.95/22.37 ---------------------------------------- 65.95/22.37 65.95/22.37 (80) QDPSizeChangeProof (EQUIVALENT) 65.95/22.37 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. 65.95/22.37 65.95/22.37 From the DPs we obtained the following set of size-change graphs: 65.95/22.37 *U31^1(X1, mark(X2)) -> U31^1(X1, X2) 65.95/22.37 The graph contains the following edges 1 >= 1, 2 > 2 65.95/22.37 65.95/22.37 65.95/22.37 *U31^1(mark(X1), X2) -> U31^1(X1, X2) 65.95/22.37 The graph contains the following edges 1 > 1, 2 >= 2 65.95/22.37 65.95/22.37 65.95/22.37 *U31^1(active(X1), X2) -> U31^1(X1, X2) 65.95/22.37 The graph contains the following edges 1 > 1, 2 >= 2 65.95/22.37 65.95/22.37 65.95/22.37 *U31^1(X1, active(X2)) -> U31^1(X1, X2) 65.95/22.37 The graph contains the following edges 1 >= 1, 2 > 2 65.95/22.37 65.95/22.37 65.95/22.37 ---------------------------------------- 65.95/22.37 65.95/22.37 (81) 65.95/22.37 YES 65.95/22.37 65.95/22.37 ---------------------------------------- 65.95/22.37 65.95/22.37 (82) 65.95/22.37 Obligation: 65.95/22.37 Q DP problem: 65.95/22.37 The TRS P consists of the following rules: 65.95/22.37 65.95/22.37 U21^1(active(X)) -> U21^1(X) 65.95/22.37 U21^1(mark(X)) -> U21^1(X) 65.95/22.37 65.95/22.37 The TRS R consists of the following rules: 65.95/22.37 65.95/22.37 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.37 active(U12(tt)) -> mark(tt) 65.95/22.37 active(U21(tt)) -> mark(tt) 65.95/22.37 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.37 active(U32(tt)) -> mark(tt) 65.95/22.37 active(U41(tt, N)) -> mark(N) 65.95/22.37 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.37 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.37 active(U61(tt)) -> mark(0) 65.95/22.37 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.37 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.37 active(isNat(0)) -> mark(tt) 65.95/22.37 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.37 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.37 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.37 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.37 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.37 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.37 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.37 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.37 mark(tt) -> active(tt) 65.95/22.37 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.37 mark(isNat(X)) -> active(isNat(X)) 65.95/22.37 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.37 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.37 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.37 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.37 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.37 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.37 mark(s(X)) -> active(s(mark(X))) 65.95/22.37 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.37 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.37 mark(0) -> active(0) 65.95/22.37 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.37 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.37 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.37 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.37 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.37 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.37 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.37 U12(mark(X)) -> U12(X) 65.95/22.37 U12(active(X)) -> U12(X) 65.95/22.37 isNat(mark(X)) -> isNat(X) 65.95/22.37 isNat(active(X)) -> isNat(X) 65.95/22.37 U21(mark(X)) -> U21(X) 65.95/22.37 U21(active(X)) -> U21(X) 65.95/22.37 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.37 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.37 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.37 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.37 U32(mark(X)) -> U32(X) 65.95/22.37 U32(active(X)) -> U32(X) 65.95/22.37 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.37 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.37 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.37 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.37 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.37 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.37 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.37 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.37 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.37 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.37 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.37 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.37 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.37 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.37 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.37 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.37 s(mark(X)) -> s(X) 65.95/22.37 s(active(X)) -> s(X) 65.95/22.37 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.37 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.37 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.37 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.37 U61(mark(X)) -> U61(X) 65.95/22.37 U61(active(X)) -> U61(X) 65.95/22.37 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.37 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.37 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.37 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.37 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.37 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.37 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.37 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.37 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.37 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.37 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.37 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.37 x(mark(X1), X2) -> x(X1, X2) 65.95/22.37 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.37 x(active(X1), X2) -> x(X1, X2) 65.95/22.37 x(X1, active(X2)) -> x(X1, X2) 65.95/22.37 65.95/22.37 The set Q consists of the following terms: 65.95/22.37 65.95/22.37 active(U11(tt, x0)) 65.95/22.37 active(U12(tt)) 65.95/22.37 active(U21(tt)) 65.95/22.37 active(U31(tt, x0)) 65.95/22.37 active(U32(tt)) 65.95/22.37 active(U41(tt, x0)) 65.95/22.37 active(U51(tt, x0, x1)) 65.95/22.37 active(U52(tt, x0, x1)) 65.95/22.37 active(U61(tt)) 65.95/22.37 active(U71(tt, x0, x1)) 65.95/22.37 active(U72(tt, x0, x1)) 65.95/22.37 active(isNat(0)) 65.95/22.37 active(isNat(plus(x0, x1))) 65.95/22.37 active(isNat(s(x0))) 65.95/22.37 active(isNat(x(x0, x1))) 65.95/22.37 active(plus(x0, 0)) 65.95/22.37 active(plus(x0, s(x1))) 65.95/22.37 active(x(x0, 0)) 65.95/22.37 active(x(x0, s(x1))) 65.95/22.37 mark(U11(x0, x1)) 65.95/22.37 mark(tt) 65.95/22.37 mark(U12(x0)) 65.95/22.37 mark(isNat(x0)) 65.95/22.37 mark(U21(x0)) 65.95/22.37 mark(U31(x0, x1)) 65.95/22.37 mark(U32(x0)) 65.95/22.37 mark(U41(x0, x1)) 65.95/22.37 mark(U51(x0, x1, x2)) 65.95/22.37 mark(U52(x0, x1, x2)) 65.95/22.37 mark(s(x0)) 65.95/22.37 mark(plus(x0, x1)) 65.95/22.37 mark(U61(x0)) 65.95/22.37 mark(0) 65.95/22.37 mark(U71(x0, x1, x2)) 65.95/22.37 mark(U72(x0, x1, x2)) 65.95/22.37 mark(x(x0, x1)) 65.95/22.37 U11(mark(x0), x1) 65.95/22.37 U11(x0, mark(x1)) 65.95/22.37 U11(active(x0), x1) 65.95/22.37 U11(x0, active(x1)) 65.95/22.37 U12(mark(x0)) 65.95/22.37 U12(active(x0)) 65.95/22.37 isNat(mark(x0)) 65.95/22.37 isNat(active(x0)) 65.95/22.37 U21(mark(x0)) 65.95/22.37 U21(active(x0)) 65.95/22.37 U31(mark(x0), x1) 65.95/22.37 U31(x0, mark(x1)) 65.95/22.37 U31(active(x0), x1) 65.95/22.37 U31(x0, active(x1)) 65.95/22.37 U32(mark(x0)) 65.95/22.37 U32(active(x0)) 65.95/22.37 U41(mark(x0), x1) 65.95/22.37 U41(x0, mark(x1)) 65.95/22.37 U41(active(x0), x1) 65.95/22.37 U41(x0, active(x1)) 65.95/22.37 U51(mark(x0), x1, x2) 65.95/22.37 U51(x0, mark(x1), x2) 65.95/22.37 U51(x0, x1, mark(x2)) 65.95/22.37 U51(active(x0), x1, x2) 65.95/22.37 U51(x0, active(x1), x2) 65.95/22.37 U51(x0, x1, active(x2)) 65.95/22.37 U52(mark(x0), x1, x2) 65.95/22.37 U52(x0, mark(x1), x2) 65.95/22.37 U52(x0, x1, mark(x2)) 65.95/22.37 U52(active(x0), x1, x2) 65.95/22.37 U52(x0, active(x1), x2) 65.95/22.37 U52(x0, x1, active(x2)) 65.95/22.37 s(mark(x0)) 65.95/22.37 s(active(x0)) 65.95/22.37 plus(mark(x0), x1) 65.95/22.37 plus(x0, mark(x1)) 65.95/22.37 plus(active(x0), x1) 65.95/22.37 plus(x0, active(x1)) 65.95/22.37 U61(mark(x0)) 65.95/22.37 U61(active(x0)) 65.95/22.37 U71(mark(x0), x1, x2) 65.95/22.37 U71(x0, mark(x1), x2) 65.95/22.37 U71(x0, x1, mark(x2)) 65.95/22.37 U71(active(x0), x1, x2) 65.95/22.37 U71(x0, active(x1), x2) 65.95/22.37 U71(x0, x1, active(x2)) 65.95/22.37 U72(mark(x0), x1, x2) 65.95/22.37 U72(x0, mark(x1), x2) 65.95/22.37 U72(x0, x1, mark(x2)) 65.95/22.37 U72(active(x0), x1, x2) 65.95/22.38 U72(x0, active(x1), x2) 65.95/22.38 U72(x0, x1, active(x2)) 65.95/22.38 x(mark(x0), x1) 65.95/22.38 x(x0, mark(x1)) 65.95/22.38 x(active(x0), x1) 65.95/22.38 x(x0, active(x1)) 65.95/22.38 65.95/22.38 We have to consider all minimal (P,Q,R)-chains. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (83) UsableRulesProof (EQUIVALENT) 65.95/22.38 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. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (84) 65.95/22.38 Obligation: 65.95/22.38 Q DP problem: 65.95/22.38 The TRS P consists of the following rules: 65.95/22.38 65.95/22.38 U21^1(active(X)) -> U21^1(X) 65.95/22.38 U21^1(mark(X)) -> U21^1(X) 65.95/22.38 65.95/22.38 R is empty. 65.95/22.38 The set Q consists of the following terms: 65.95/22.38 65.95/22.38 active(U11(tt, x0)) 65.95/22.38 active(U12(tt)) 65.95/22.38 active(U21(tt)) 65.95/22.38 active(U31(tt, x0)) 65.95/22.38 active(U32(tt)) 65.95/22.38 active(U41(tt, x0)) 65.95/22.38 active(U51(tt, x0, x1)) 65.95/22.38 active(U52(tt, x0, x1)) 65.95/22.38 active(U61(tt)) 65.95/22.38 active(U71(tt, x0, x1)) 65.95/22.38 active(U72(tt, x0, x1)) 65.95/22.38 active(isNat(0)) 65.95/22.38 active(isNat(plus(x0, x1))) 65.95/22.38 active(isNat(s(x0))) 65.95/22.38 active(isNat(x(x0, x1))) 65.95/22.38 active(plus(x0, 0)) 65.95/22.38 active(plus(x0, s(x1))) 65.95/22.38 active(x(x0, 0)) 65.95/22.38 active(x(x0, s(x1))) 65.95/22.38 mark(U11(x0, x1)) 65.95/22.38 mark(tt) 65.95/22.38 mark(U12(x0)) 65.95/22.38 mark(isNat(x0)) 65.95/22.38 mark(U21(x0)) 65.95/22.38 mark(U31(x0, x1)) 65.95/22.38 mark(U32(x0)) 65.95/22.38 mark(U41(x0, x1)) 65.95/22.38 mark(U51(x0, x1, x2)) 65.95/22.38 mark(U52(x0, x1, x2)) 65.95/22.38 mark(s(x0)) 65.95/22.38 mark(plus(x0, x1)) 65.95/22.38 mark(U61(x0)) 65.95/22.38 mark(0) 65.95/22.38 mark(U71(x0, x1, x2)) 65.95/22.38 mark(U72(x0, x1, x2)) 65.95/22.38 mark(x(x0, x1)) 65.95/22.38 U11(mark(x0), x1) 65.95/22.38 U11(x0, mark(x1)) 65.95/22.38 U11(active(x0), x1) 65.95/22.38 U11(x0, active(x1)) 65.95/22.38 U12(mark(x0)) 65.95/22.38 U12(active(x0)) 65.95/22.38 isNat(mark(x0)) 65.95/22.38 isNat(active(x0)) 65.95/22.38 U21(mark(x0)) 65.95/22.38 U21(active(x0)) 65.95/22.38 U31(mark(x0), x1) 65.95/22.38 U31(x0, mark(x1)) 65.95/22.38 U31(active(x0), x1) 65.95/22.38 U31(x0, active(x1)) 65.95/22.38 U32(mark(x0)) 65.95/22.38 U32(active(x0)) 65.95/22.38 U41(mark(x0), x1) 65.95/22.38 U41(x0, mark(x1)) 65.95/22.38 U41(active(x0), x1) 65.95/22.38 U41(x0, active(x1)) 65.95/22.38 U51(mark(x0), x1, x2) 65.95/22.38 U51(x0, mark(x1), x2) 65.95/22.38 U51(x0, x1, mark(x2)) 65.95/22.38 U51(active(x0), x1, x2) 65.95/22.38 U51(x0, active(x1), x2) 65.95/22.38 U51(x0, x1, active(x2)) 65.95/22.38 U52(mark(x0), x1, x2) 65.95/22.38 U52(x0, mark(x1), x2) 65.95/22.38 U52(x0, x1, mark(x2)) 65.95/22.38 U52(active(x0), x1, x2) 65.95/22.38 U52(x0, active(x1), x2) 65.95/22.38 U52(x0, x1, active(x2)) 65.95/22.38 s(mark(x0)) 65.95/22.38 s(active(x0)) 65.95/22.38 plus(mark(x0), x1) 65.95/22.38 plus(x0, mark(x1)) 65.95/22.38 plus(active(x0), x1) 65.95/22.38 plus(x0, active(x1)) 65.95/22.38 U61(mark(x0)) 65.95/22.38 U61(active(x0)) 65.95/22.38 U71(mark(x0), x1, x2) 65.95/22.38 U71(x0, mark(x1), x2) 65.95/22.38 U71(x0, x1, mark(x2)) 65.95/22.38 U71(active(x0), x1, x2) 65.95/22.38 U71(x0, active(x1), x2) 65.95/22.38 U71(x0, x1, active(x2)) 65.95/22.38 U72(mark(x0), x1, x2) 65.95/22.38 U72(x0, mark(x1), x2) 65.95/22.38 U72(x0, x1, mark(x2)) 65.95/22.38 U72(active(x0), x1, x2) 65.95/22.38 U72(x0, active(x1), x2) 65.95/22.38 U72(x0, x1, active(x2)) 65.95/22.38 x(mark(x0), x1) 65.95/22.38 x(x0, mark(x1)) 65.95/22.38 x(active(x0), x1) 65.95/22.38 x(x0, active(x1)) 65.95/22.38 65.95/22.38 We have to consider all minimal (P,Q,R)-chains. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (85) QReductionProof (EQUIVALENT) 65.95/22.38 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.95/22.38 65.95/22.38 U11(mark(x0), x1) 65.95/22.38 U11(x0, mark(x1)) 65.95/22.38 U11(active(x0), x1) 65.95/22.38 U11(x0, active(x1)) 65.95/22.38 U12(mark(x0)) 65.95/22.38 U12(active(x0)) 65.95/22.38 isNat(mark(x0)) 65.95/22.38 isNat(active(x0)) 65.95/22.38 U21(mark(x0)) 65.95/22.38 U21(active(x0)) 65.95/22.38 U31(mark(x0), x1) 65.95/22.38 U31(x0, mark(x1)) 65.95/22.38 U31(active(x0), x1) 65.95/22.38 U31(x0, active(x1)) 65.95/22.38 U32(mark(x0)) 65.95/22.38 U32(active(x0)) 65.95/22.38 U41(mark(x0), x1) 65.95/22.38 U41(x0, mark(x1)) 65.95/22.38 U41(active(x0), x1) 65.95/22.38 U41(x0, active(x1)) 65.95/22.38 U51(mark(x0), x1, x2) 65.95/22.38 U51(x0, mark(x1), x2) 65.95/22.38 U51(x0, x1, mark(x2)) 65.95/22.38 U51(active(x0), x1, x2) 65.95/22.38 U51(x0, active(x1), x2) 65.95/22.38 U51(x0, x1, active(x2)) 65.95/22.38 U52(mark(x0), x1, x2) 65.95/22.38 U52(x0, mark(x1), x2) 65.95/22.38 U52(x0, x1, mark(x2)) 65.95/22.38 U52(active(x0), x1, x2) 65.95/22.38 U52(x0, active(x1), x2) 65.95/22.38 U52(x0, x1, active(x2)) 65.95/22.38 s(mark(x0)) 65.95/22.38 s(active(x0)) 65.95/22.38 plus(mark(x0), x1) 65.95/22.38 plus(x0, mark(x1)) 65.95/22.38 plus(active(x0), x1) 65.95/22.38 plus(x0, active(x1)) 65.95/22.38 U61(mark(x0)) 65.95/22.38 U61(active(x0)) 65.95/22.38 U71(mark(x0), x1, x2) 65.95/22.38 U71(x0, mark(x1), x2) 65.95/22.38 U71(x0, x1, mark(x2)) 65.95/22.38 U71(active(x0), x1, x2) 65.95/22.38 U71(x0, active(x1), x2) 65.95/22.38 U71(x0, x1, active(x2)) 65.95/22.38 U72(mark(x0), x1, x2) 65.95/22.38 U72(x0, mark(x1), x2) 65.95/22.38 U72(x0, x1, mark(x2)) 65.95/22.38 U72(active(x0), x1, x2) 65.95/22.38 U72(x0, active(x1), x2) 65.95/22.38 U72(x0, x1, active(x2)) 65.95/22.38 x(mark(x0), x1) 65.95/22.38 x(x0, mark(x1)) 65.95/22.38 x(active(x0), x1) 65.95/22.38 x(x0, active(x1)) 65.95/22.38 65.95/22.38 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (86) 65.95/22.38 Obligation: 65.95/22.38 Q DP problem: 65.95/22.38 The TRS P consists of the following rules: 65.95/22.38 65.95/22.38 U21^1(active(X)) -> U21^1(X) 65.95/22.38 U21^1(mark(X)) -> U21^1(X) 65.95/22.38 65.95/22.38 R is empty. 65.95/22.38 The set Q consists of the following terms: 65.95/22.38 65.95/22.38 active(U11(tt, x0)) 65.95/22.38 active(U12(tt)) 65.95/22.38 active(U21(tt)) 65.95/22.38 active(U31(tt, x0)) 65.95/22.38 active(U32(tt)) 65.95/22.38 active(U41(tt, x0)) 65.95/22.38 active(U51(tt, x0, x1)) 65.95/22.38 active(U52(tt, x0, x1)) 65.95/22.38 active(U61(tt)) 65.95/22.38 active(U71(tt, x0, x1)) 65.95/22.38 active(U72(tt, x0, x1)) 65.95/22.38 active(isNat(0)) 65.95/22.38 active(isNat(plus(x0, x1))) 65.95/22.38 active(isNat(s(x0))) 65.95/22.38 active(isNat(x(x0, x1))) 65.95/22.38 active(plus(x0, 0)) 65.95/22.38 active(plus(x0, s(x1))) 65.95/22.38 active(x(x0, 0)) 65.95/22.38 active(x(x0, s(x1))) 65.95/22.38 mark(U11(x0, x1)) 65.95/22.38 mark(tt) 65.95/22.38 mark(U12(x0)) 65.95/22.38 mark(isNat(x0)) 65.95/22.38 mark(U21(x0)) 65.95/22.38 mark(U31(x0, x1)) 65.95/22.38 mark(U32(x0)) 65.95/22.38 mark(U41(x0, x1)) 65.95/22.38 mark(U51(x0, x1, x2)) 65.95/22.38 mark(U52(x0, x1, x2)) 65.95/22.38 mark(s(x0)) 65.95/22.38 mark(plus(x0, x1)) 65.95/22.38 mark(U61(x0)) 65.95/22.38 mark(0) 65.95/22.38 mark(U71(x0, x1, x2)) 65.95/22.38 mark(U72(x0, x1, x2)) 65.95/22.38 mark(x(x0, x1)) 65.95/22.38 65.95/22.38 We have to consider all minimal (P,Q,R)-chains. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (87) QDPSizeChangeProof (EQUIVALENT) 65.95/22.38 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. 65.95/22.38 65.95/22.38 From the DPs we obtained the following set of size-change graphs: 65.95/22.38 *U21^1(active(X)) -> U21^1(X) 65.95/22.38 The graph contains the following edges 1 > 1 65.95/22.38 65.95/22.38 65.95/22.38 *U21^1(mark(X)) -> U21^1(X) 65.95/22.38 The graph contains the following edges 1 > 1 65.95/22.38 65.95/22.38 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (88) 65.95/22.38 YES 65.95/22.38 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (89) 65.95/22.38 Obligation: 65.95/22.38 Q DP problem: 65.95/22.38 The TRS P consists of the following rules: 65.95/22.38 65.95/22.38 ISNAT(active(X)) -> ISNAT(X) 65.95/22.38 ISNAT(mark(X)) -> ISNAT(X) 65.95/22.38 65.95/22.38 The TRS R consists of the following rules: 65.95/22.38 65.95/22.38 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.38 active(U12(tt)) -> mark(tt) 65.95/22.38 active(U21(tt)) -> mark(tt) 65.95/22.38 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.38 active(U32(tt)) -> mark(tt) 65.95/22.38 active(U41(tt, N)) -> mark(N) 65.95/22.38 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.38 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.38 active(U61(tt)) -> mark(0) 65.95/22.38 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.38 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.38 active(isNat(0)) -> mark(tt) 65.95/22.38 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.38 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.38 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.38 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.38 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.38 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.38 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.38 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.38 mark(tt) -> active(tt) 65.95/22.38 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.38 mark(isNat(X)) -> active(isNat(X)) 65.95/22.38 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.38 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.38 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.38 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.38 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.38 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.38 mark(s(X)) -> active(s(mark(X))) 65.95/22.38 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.38 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.38 mark(0) -> active(0) 65.95/22.38 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.38 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.38 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.38 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.38 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.38 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.38 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.38 U12(mark(X)) -> U12(X) 65.95/22.38 U12(active(X)) -> U12(X) 65.95/22.38 isNat(mark(X)) -> isNat(X) 65.95/22.38 isNat(active(X)) -> isNat(X) 65.95/22.38 U21(mark(X)) -> U21(X) 65.95/22.38 U21(active(X)) -> U21(X) 65.95/22.38 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.38 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.38 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.38 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.38 U32(mark(X)) -> U32(X) 65.95/22.38 U32(active(X)) -> U32(X) 65.95/22.38 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.38 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.38 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.38 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.38 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.38 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.38 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.38 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.38 s(mark(X)) -> s(X) 65.95/22.38 s(active(X)) -> s(X) 65.95/22.38 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.38 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.38 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.38 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.38 U61(mark(X)) -> U61(X) 65.95/22.38 U61(active(X)) -> U61(X) 65.95/22.38 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.38 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.38 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.38 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.38 x(mark(X1), X2) -> x(X1, X2) 65.95/22.38 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.38 x(active(X1), X2) -> x(X1, X2) 65.95/22.38 x(X1, active(X2)) -> x(X1, X2) 65.95/22.38 65.95/22.38 The set Q consists of the following terms: 65.95/22.38 65.95/22.38 active(U11(tt, x0)) 65.95/22.38 active(U12(tt)) 65.95/22.38 active(U21(tt)) 65.95/22.38 active(U31(tt, x0)) 65.95/22.38 active(U32(tt)) 65.95/22.38 active(U41(tt, x0)) 65.95/22.38 active(U51(tt, x0, x1)) 65.95/22.38 active(U52(tt, x0, x1)) 65.95/22.38 active(U61(tt)) 65.95/22.38 active(U71(tt, x0, x1)) 65.95/22.38 active(U72(tt, x0, x1)) 65.95/22.38 active(isNat(0)) 65.95/22.38 active(isNat(plus(x0, x1))) 65.95/22.38 active(isNat(s(x0))) 65.95/22.38 active(isNat(x(x0, x1))) 65.95/22.38 active(plus(x0, 0)) 65.95/22.38 active(plus(x0, s(x1))) 65.95/22.38 active(x(x0, 0)) 65.95/22.38 active(x(x0, s(x1))) 65.95/22.38 mark(U11(x0, x1)) 65.95/22.38 mark(tt) 65.95/22.38 mark(U12(x0)) 65.95/22.38 mark(isNat(x0)) 65.95/22.38 mark(U21(x0)) 65.95/22.38 mark(U31(x0, x1)) 65.95/22.38 mark(U32(x0)) 65.95/22.38 mark(U41(x0, x1)) 65.95/22.38 mark(U51(x0, x1, x2)) 65.95/22.38 mark(U52(x0, x1, x2)) 65.95/22.38 mark(s(x0)) 65.95/22.38 mark(plus(x0, x1)) 65.95/22.38 mark(U61(x0)) 65.95/22.38 mark(0) 65.95/22.38 mark(U71(x0, x1, x2)) 65.95/22.38 mark(U72(x0, x1, x2)) 65.95/22.38 mark(x(x0, x1)) 65.95/22.38 U11(mark(x0), x1) 65.95/22.38 U11(x0, mark(x1)) 65.95/22.38 U11(active(x0), x1) 65.95/22.38 U11(x0, active(x1)) 65.95/22.38 U12(mark(x0)) 65.95/22.38 U12(active(x0)) 65.95/22.38 isNat(mark(x0)) 65.95/22.38 isNat(active(x0)) 65.95/22.38 U21(mark(x0)) 65.95/22.38 U21(active(x0)) 65.95/22.38 U31(mark(x0), x1) 65.95/22.38 U31(x0, mark(x1)) 65.95/22.38 U31(active(x0), x1) 65.95/22.38 U31(x0, active(x1)) 65.95/22.38 U32(mark(x0)) 65.95/22.38 U32(active(x0)) 65.95/22.38 U41(mark(x0), x1) 65.95/22.38 U41(x0, mark(x1)) 65.95/22.38 U41(active(x0), x1) 65.95/22.38 U41(x0, active(x1)) 65.95/22.38 U51(mark(x0), x1, x2) 65.95/22.38 U51(x0, mark(x1), x2) 65.95/22.38 U51(x0, x1, mark(x2)) 65.95/22.38 U51(active(x0), x1, x2) 65.95/22.38 U51(x0, active(x1), x2) 65.95/22.38 U51(x0, x1, active(x2)) 65.95/22.38 U52(mark(x0), x1, x2) 65.95/22.38 U52(x0, mark(x1), x2) 65.95/22.38 U52(x0, x1, mark(x2)) 65.95/22.38 U52(active(x0), x1, x2) 65.95/22.38 U52(x0, active(x1), x2) 65.95/22.38 U52(x0, x1, active(x2)) 65.95/22.38 s(mark(x0)) 65.95/22.38 s(active(x0)) 65.95/22.38 plus(mark(x0), x1) 65.95/22.38 plus(x0, mark(x1)) 65.95/22.38 plus(active(x0), x1) 65.95/22.38 plus(x0, active(x1)) 65.95/22.38 U61(mark(x0)) 65.95/22.38 U61(active(x0)) 65.95/22.38 U71(mark(x0), x1, x2) 65.95/22.38 U71(x0, mark(x1), x2) 65.95/22.38 U71(x0, x1, mark(x2)) 65.95/22.38 U71(active(x0), x1, x2) 65.95/22.38 U71(x0, active(x1), x2) 65.95/22.38 U71(x0, x1, active(x2)) 65.95/22.38 U72(mark(x0), x1, x2) 65.95/22.38 U72(x0, mark(x1), x2) 65.95/22.38 U72(x0, x1, mark(x2)) 65.95/22.38 U72(active(x0), x1, x2) 65.95/22.38 U72(x0, active(x1), x2) 65.95/22.38 U72(x0, x1, active(x2)) 65.95/22.38 x(mark(x0), x1) 65.95/22.38 x(x0, mark(x1)) 65.95/22.38 x(active(x0), x1) 65.95/22.38 x(x0, active(x1)) 65.95/22.38 65.95/22.38 We have to consider all minimal (P,Q,R)-chains. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (90) UsableRulesProof (EQUIVALENT) 65.95/22.38 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. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (91) 65.95/22.38 Obligation: 65.95/22.38 Q DP problem: 65.95/22.38 The TRS P consists of the following rules: 65.95/22.38 65.95/22.38 ISNAT(active(X)) -> ISNAT(X) 65.95/22.38 ISNAT(mark(X)) -> ISNAT(X) 65.95/22.38 65.95/22.38 R is empty. 65.95/22.38 The set Q consists of the following terms: 65.95/22.38 65.95/22.38 active(U11(tt, x0)) 65.95/22.38 active(U12(tt)) 65.95/22.38 active(U21(tt)) 65.95/22.38 active(U31(tt, x0)) 65.95/22.38 active(U32(tt)) 65.95/22.38 active(U41(tt, x0)) 65.95/22.38 active(U51(tt, x0, x1)) 65.95/22.38 active(U52(tt, x0, x1)) 65.95/22.38 active(U61(tt)) 65.95/22.38 active(U71(tt, x0, x1)) 65.95/22.38 active(U72(tt, x0, x1)) 65.95/22.38 active(isNat(0)) 65.95/22.38 active(isNat(plus(x0, x1))) 65.95/22.38 active(isNat(s(x0))) 65.95/22.38 active(isNat(x(x0, x1))) 65.95/22.38 active(plus(x0, 0)) 65.95/22.38 active(plus(x0, s(x1))) 65.95/22.38 active(x(x0, 0)) 65.95/22.38 active(x(x0, s(x1))) 65.95/22.38 mark(U11(x0, x1)) 65.95/22.38 mark(tt) 65.95/22.38 mark(U12(x0)) 65.95/22.38 mark(isNat(x0)) 65.95/22.38 mark(U21(x0)) 65.95/22.38 mark(U31(x0, x1)) 65.95/22.38 mark(U32(x0)) 65.95/22.38 mark(U41(x0, x1)) 65.95/22.38 mark(U51(x0, x1, x2)) 65.95/22.38 mark(U52(x0, x1, x2)) 65.95/22.38 mark(s(x0)) 65.95/22.38 mark(plus(x0, x1)) 65.95/22.38 mark(U61(x0)) 65.95/22.38 mark(0) 65.95/22.38 mark(U71(x0, x1, x2)) 65.95/22.38 mark(U72(x0, x1, x2)) 65.95/22.38 mark(x(x0, x1)) 65.95/22.38 U11(mark(x0), x1) 65.95/22.38 U11(x0, mark(x1)) 65.95/22.38 U11(active(x0), x1) 65.95/22.38 U11(x0, active(x1)) 65.95/22.38 U12(mark(x0)) 65.95/22.38 U12(active(x0)) 65.95/22.38 isNat(mark(x0)) 65.95/22.38 isNat(active(x0)) 65.95/22.38 U21(mark(x0)) 65.95/22.38 U21(active(x0)) 65.95/22.38 U31(mark(x0), x1) 65.95/22.38 U31(x0, mark(x1)) 65.95/22.38 U31(active(x0), x1) 65.95/22.38 U31(x0, active(x1)) 65.95/22.38 U32(mark(x0)) 65.95/22.38 U32(active(x0)) 65.95/22.38 U41(mark(x0), x1) 65.95/22.38 U41(x0, mark(x1)) 65.95/22.38 U41(active(x0), x1) 65.95/22.38 U41(x0, active(x1)) 65.95/22.38 U51(mark(x0), x1, x2) 65.95/22.38 U51(x0, mark(x1), x2) 65.95/22.38 U51(x0, x1, mark(x2)) 65.95/22.38 U51(active(x0), x1, x2) 65.95/22.38 U51(x0, active(x1), x2) 65.95/22.38 U51(x0, x1, active(x2)) 65.95/22.38 U52(mark(x0), x1, x2) 65.95/22.38 U52(x0, mark(x1), x2) 65.95/22.38 U52(x0, x1, mark(x2)) 65.95/22.38 U52(active(x0), x1, x2) 65.95/22.38 U52(x0, active(x1), x2) 65.95/22.38 U52(x0, x1, active(x2)) 65.95/22.38 s(mark(x0)) 65.95/22.38 s(active(x0)) 65.95/22.38 plus(mark(x0), x1) 65.95/22.38 plus(x0, mark(x1)) 65.95/22.38 plus(active(x0), x1) 65.95/22.38 plus(x0, active(x1)) 65.95/22.38 U61(mark(x0)) 65.95/22.38 U61(active(x0)) 65.95/22.38 U71(mark(x0), x1, x2) 65.95/22.38 U71(x0, mark(x1), x2) 65.95/22.38 U71(x0, x1, mark(x2)) 65.95/22.38 U71(active(x0), x1, x2) 65.95/22.38 U71(x0, active(x1), x2) 65.95/22.38 U71(x0, x1, active(x2)) 65.95/22.38 U72(mark(x0), x1, x2) 65.95/22.38 U72(x0, mark(x1), x2) 65.95/22.38 U72(x0, x1, mark(x2)) 65.95/22.38 U72(active(x0), x1, x2) 65.95/22.38 U72(x0, active(x1), x2) 65.95/22.38 U72(x0, x1, active(x2)) 65.95/22.38 x(mark(x0), x1) 65.95/22.38 x(x0, mark(x1)) 65.95/22.38 x(active(x0), x1) 65.95/22.38 x(x0, active(x1)) 65.95/22.38 65.95/22.38 We have to consider all minimal (P,Q,R)-chains. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (92) QReductionProof (EQUIVALENT) 65.95/22.38 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.95/22.38 65.95/22.38 U11(mark(x0), x1) 65.95/22.38 U11(x0, mark(x1)) 65.95/22.38 U11(active(x0), x1) 65.95/22.38 U11(x0, active(x1)) 65.95/22.38 U12(mark(x0)) 65.95/22.38 U12(active(x0)) 65.95/22.38 isNat(mark(x0)) 65.95/22.38 isNat(active(x0)) 65.95/22.38 U21(mark(x0)) 65.95/22.38 U21(active(x0)) 65.95/22.38 U31(mark(x0), x1) 65.95/22.38 U31(x0, mark(x1)) 65.95/22.38 U31(active(x0), x1) 65.95/22.38 U31(x0, active(x1)) 65.95/22.38 U32(mark(x0)) 65.95/22.38 U32(active(x0)) 65.95/22.38 U41(mark(x0), x1) 65.95/22.38 U41(x0, mark(x1)) 65.95/22.38 U41(active(x0), x1) 65.95/22.38 U41(x0, active(x1)) 65.95/22.38 U51(mark(x0), x1, x2) 65.95/22.38 U51(x0, mark(x1), x2) 65.95/22.38 U51(x0, x1, mark(x2)) 65.95/22.38 U51(active(x0), x1, x2) 65.95/22.38 U51(x0, active(x1), x2) 65.95/22.38 U51(x0, x1, active(x2)) 65.95/22.38 U52(mark(x0), x1, x2) 65.95/22.38 U52(x0, mark(x1), x2) 65.95/22.38 U52(x0, x1, mark(x2)) 65.95/22.38 U52(active(x0), x1, x2) 65.95/22.38 U52(x0, active(x1), x2) 65.95/22.38 U52(x0, x1, active(x2)) 65.95/22.38 s(mark(x0)) 65.95/22.38 s(active(x0)) 65.95/22.38 plus(mark(x0), x1) 65.95/22.38 plus(x0, mark(x1)) 65.95/22.38 plus(active(x0), x1) 65.95/22.38 plus(x0, active(x1)) 65.95/22.38 U61(mark(x0)) 65.95/22.38 U61(active(x0)) 65.95/22.38 U71(mark(x0), x1, x2) 65.95/22.38 U71(x0, mark(x1), x2) 65.95/22.38 U71(x0, x1, mark(x2)) 65.95/22.38 U71(active(x0), x1, x2) 65.95/22.38 U71(x0, active(x1), x2) 65.95/22.38 U71(x0, x1, active(x2)) 65.95/22.38 U72(mark(x0), x1, x2) 65.95/22.38 U72(x0, mark(x1), x2) 65.95/22.38 U72(x0, x1, mark(x2)) 65.95/22.38 U72(active(x0), x1, x2) 65.95/22.38 U72(x0, active(x1), x2) 65.95/22.38 U72(x0, x1, active(x2)) 65.95/22.38 x(mark(x0), x1) 65.95/22.38 x(x0, mark(x1)) 65.95/22.38 x(active(x0), x1) 65.95/22.38 x(x0, active(x1)) 65.95/22.38 65.95/22.38 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (93) 65.95/22.38 Obligation: 65.95/22.38 Q DP problem: 65.95/22.38 The TRS P consists of the following rules: 65.95/22.38 65.95/22.38 ISNAT(active(X)) -> ISNAT(X) 65.95/22.38 ISNAT(mark(X)) -> ISNAT(X) 65.95/22.38 65.95/22.38 R is empty. 65.95/22.38 The set Q consists of the following terms: 65.95/22.38 65.95/22.38 active(U11(tt, x0)) 65.95/22.38 active(U12(tt)) 65.95/22.38 active(U21(tt)) 65.95/22.38 active(U31(tt, x0)) 65.95/22.38 active(U32(tt)) 65.95/22.38 active(U41(tt, x0)) 65.95/22.38 active(U51(tt, x0, x1)) 65.95/22.38 active(U52(tt, x0, x1)) 65.95/22.38 active(U61(tt)) 65.95/22.38 active(U71(tt, x0, x1)) 65.95/22.38 active(U72(tt, x0, x1)) 65.95/22.38 active(isNat(0)) 65.95/22.38 active(isNat(plus(x0, x1))) 65.95/22.38 active(isNat(s(x0))) 65.95/22.38 active(isNat(x(x0, x1))) 65.95/22.38 active(plus(x0, 0)) 65.95/22.38 active(plus(x0, s(x1))) 65.95/22.38 active(x(x0, 0)) 65.95/22.38 active(x(x0, s(x1))) 65.95/22.38 mark(U11(x0, x1)) 65.95/22.38 mark(tt) 65.95/22.38 mark(U12(x0)) 65.95/22.38 mark(isNat(x0)) 65.95/22.38 mark(U21(x0)) 65.95/22.38 mark(U31(x0, x1)) 65.95/22.38 mark(U32(x0)) 65.95/22.38 mark(U41(x0, x1)) 65.95/22.38 mark(U51(x0, x1, x2)) 65.95/22.38 mark(U52(x0, x1, x2)) 65.95/22.38 mark(s(x0)) 65.95/22.38 mark(plus(x0, x1)) 65.95/22.38 mark(U61(x0)) 65.95/22.38 mark(0) 65.95/22.38 mark(U71(x0, x1, x2)) 65.95/22.38 mark(U72(x0, x1, x2)) 65.95/22.38 mark(x(x0, x1)) 65.95/22.38 65.95/22.38 We have to consider all minimal (P,Q,R)-chains. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (94) QDPSizeChangeProof (EQUIVALENT) 65.95/22.38 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. 65.95/22.38 65.95/22.38 From the DPs we obtained the following set of size-change graphs: 65.95/22.38 *ISNAT(active(X)) -> ISNAT(X) 65.95/22.38 The graph contains the following edges 1 > 1 65.95/22.38 65.95/22.38 65.95/22.38 *ISNAT(mark(X)) -> ISNAT(X) 65.95/22.38 The graph contains the following edges 1 > 1 65.95/22.38 65.95/22.38 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (95) 65.95/22.38 YES 65.95/22.38 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (96) 65.95/22.38 Obligation: 65.95/22.38 Q DP problem: 65.95/22.38 The TRS P consists of the following rules: 65.95/22.38 65.95/22.38 U12^1(active(X)) -> U12^1(X) 65.95/22.38 U12^1(mark(X)) -> U12^1(X) 65.95/22.38 65.95/22.38 The TRS R consists of the following rules: 65.95/22.38 65.95/22.38 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.38 active(U12(tt)) -> mark(tt) 65.95/22.38 active(U21(tt)) -> mark(tt) 65.95/22.38 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.38 active(U32(tt)) -> mark(tt) 65.95/22.38 active(U41(tt, N)) -> mark(N) 65.95/22.38 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.38 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.38 active(U61(tt)) -> mark(0) 65.95/22.38 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.38 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.38 active(isNat(0)) -> mark(tt) 65.95/22.38 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.38 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.38 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.38 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.38 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.38 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.38 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.38 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.38 mark(tt) -> active(tt) 65.95/22.38 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.38 mark(isNat(X)) -> active(isNat(X)) 65.95/22.38 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.38 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.38 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.38 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.38 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.38 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.38 mark(s(X)) -> active(s(mark(X))) 65.95/22.38 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.38 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.38 mark(0) -> active(0) 65.95/22.38 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.38 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.38 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.38 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.38 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.38 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.38 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.38 U12(mark(X)) -> U12(X) 65.95/22.38 U12(active(X)) -> U12(X) 65.95/22.38 isNat(mark(X)) -> isNat(X) 65.95/22.38 isNat(active(X)) -> isNat(X) 65.95/22.38 U21(mark(X)) -> U21(X) 65.95/22.38 U21(active(X)) -> U21(X) 65.95/22.38 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.38 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.38 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.38 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.38 U32(mark(X)) -> U32(X) 65.95/22.38 U32(active(X)) -> U32(X) 65.95/22.38 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.38 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.38 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.38 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.38 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.38 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.38 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.38 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.38 s(mark(X)) -> s(X) 65.95/22.38 s(active(X)) -> s(X) 65.95/22.38 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.38 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.38 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.38 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.38 U61(mark(X)) -> U61(X) 65.95/22.38 U61(active(X)) -> U61(X) 65.95/22.38 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.38 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.38 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.38 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.38 x(mark(X1), X2) -> x(X1, X2) 65.95/22.38 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.38 x(active(X1), X2) -> x(X1, X2) 65.95/22.38 x(X1, active(X2)) -> x(X1, X2) 65.95/22.38 65.95/22.38 The set Q consists of the following terms: 65.95/22.38 65.95/22.38 active(U11(tt, x0)) 65.95/22.38 active(U12(tt)) 65.95/22.38 active(U21(tt)) 65.95/22.38 active(U31(tt, x0)) 65.95/22.38 active(U32(tt)) 65.95/22.38 active(U41(tt, x0)) 65.95/22.38 active(U51(tt, x0, x1)) 65.95/22.38 active(U52(tt, x0, x1)) 65.95/22.38 active(U61(tt)) 65.95/22.38 active(U71(tt, x0, x1)) 65.95/22.38 active(U72(tt, x0, x1)) 65.95/22.38 active(isNat(0)) 65.95/22.38 active(isNat(plus(x0, x1))) 65.95/22.38 active(isNat(s(x0))) 65.95/22.38 active(isNat(x(x0, x1))) 65.95/22.38 active(plus(x0, 0)) 65.95/22.38 active(plus(x0, s(x1))) 65.95/22.38 active(x(x0, 0)) 65.95/22.38 active(x(x0, s(x1))) 65.95/22.38 mark(U11(x0, x1)) 65.95/22.38 mark(tt) 65.95/22.38 mark(U12(x0)) 65.95/22.38 mark(isNat(x0)) 65.95/22.38 mark(U21(x0)) 65.95/22.38 mark(U31(x0, x1)) 65.95/22.38 mark(U32(x0)) 65.95/22.38 mark(U41(x0, x1)) 65.95/22.38 mark(U51(x0, x1, x2)) 65.95/22.38 mark(U52(x0, x1, x2)) 65.95/22.38 mark(s(x0)) 65.95/22.38 mark(plus(x0, x1)) 65.95/22.38 mark(U61(x0)) 65.95/22.38 mark(0) 65.95/22.38 mark(U71(x0, x1, x2)) 65.95/22.38 mark(U72(x0, x1, x2)) 65.95/22.38 mark(x(x0, x1)) 65.95/22.38 U11(mark(x0), x1) 65.95/22.38 U11(x0, mark(x1)) 65.95/22.38 U11(active(x0), x1) 65.95/22.38 U11(x0, active(x1)) 65.95/22.38 U12(mark(x0)) 65.95/22.38 U12(active(x0)) 65.95/22.38 isNat(mark(x0)) 65.95/22.38 isNat(active(x0)) 65.95/22.38 U21(mark(x0)) 65.95/22.38 U21(active(x0)) 65.95/22.38 U31(mark(x0), x1) 65.95/22.38 U31(x0, mark(x1)) 65.95/22.38 U31(active(x0), x1) 65.95/22.38 U31(x0, active(x1)) 65.95/22.38 U32(mark(x0)) 65.95/22.38 U32(active(x0)) 65.95/22.38 U41(mark(x0), x1) 65.95/22.38 U41(x0, mark(x1)) 65.95/22.38 U41(active(x0), x1) 65.95/22.38 U41(x0, active(x1)) 65.95/22.38 U51(mark(x0), x1, x2) 65.95/22.38 U51(x0, mark(x1), x2) 65.95/22.38 U51(x0, x1, mark(x2)) 65.95/22.38 U51(active(x0), x1, x2) 65.95/22.38 U51(x0, active(x1), x2) 65.95/22.38 U51(x0, x1, active(x2)) 65.95/22.38 U52(mark(x0), x1, x2) 65.95/22.38 U52(x0, mark(x1), x2) 65.95/22.38 U52(x0, x1, mark(x2)) 65.95/22.38 U52(active(x0), x1, x2) 65.95/22.38 U52(x0, active(x1), x2) 65.95/22.38 U52(x0, x1, active(x2)) 65.95/22.38 s(mark(x0)) 65.95/22.38 s(active(x0)) 65.95/22.38 plus(mark(x0), x1) 65.95/22.38 plus(x0, mark(x1)) 65.95/22.38 plus(active(x0), x1) 65.95/22.38 plus(x0, active(x1)) 65.95/22.38 U61(mark(x0)) 65.95/22.38 U61(active(x0)) 65.95/22.38 U71(mark(x0), x1, x2) 65.95/22.38 U71(x0, mark(x1), x2) 65.95/22.38 U71(x0, x1, mark(x2)) 65.95/22.38 U71(active(x0), x1, x2) 65.95/22.38 U71(x0, active(x1), x2) 65.95/22.38 U71(x0, x1, active(x2)) 65.95/22.38 U72(mark(x0), x1, x2) 65.95/22.38 U72(x0, mark(x1), x2) 65.95/22.38 U72(x0, x1, mark(x2)) 65.95/22.38 U72(active(x0), x1, x2) 65.95/22.38 U72(x0, active(x1), x2) 65.95/22.38 U72(x0, x1, active(x2)) 65.95/22.38 x(mark(x0), x1) 65.95/22.38 x(x0, mark(x1)) 65.95/22.38 x(active(x0), x1) 65.95/22.38 x(x0, active(x1)) 65.95/22.38 65.95/22.38 We have to consider all minimal (P,Q,R)-chains. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (97) UsableRulesProof (EQUIVALENT) 65.95/22.38 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. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (98) 65.95/22.38 Obligation: 65.95/22.38 Q DP problem: 65.95/22.38 The TRS P consists of the following rules: 65.95/22.38 65.95/22.38 U12^1(active(X)) -> U12^1(X) 65.95/22.38 U12^1(mark(X)) -> U12^1(X) 65.95/22.38 65.95/22.38 R is empty. 65.95/22.38 The set Q consists of the following terms: 65.95/22.38 65.95/22.38 active(U11(tt, x0)) 65.95/22.38 active(U12(tt)) 65.95/22.38 active(U21(tt)) 65.95/22.38 active(U31(tt, x0)) 65.95/22.38 active(U32(tt)) 65.95/22.38 active(U41(tt, x0)) 65.95/22.38 active(U51(tt, x0, x1)) 65.95/22.38 active(U52(tt, x0, x1)) 65.95/22.38 active(U61(tt)) 65.95/22.38 active(U71(tt, x0, x1)) 65.95/22.38 active(U72(tt, x0, x1)) 65.95/22.38 active(isNat(0)) 65.95/22.38 active(isNat(plus(x0, x1))) 65.95/22.38 active(isNat(s(x0))) 65.95/22.38 active(isNat(x(x0, x1))) 65.95/22.38 active(plus(x0, 0)) 65.95/22.38 active(plus(x0, s(x1))) 65.95/22.38 active(x(x0, 0)) 65.95/22.38 active(x(x0, s(x1))) 65.95/22.38 mark(U11(x0, x1)) 65.95/22.38 mark(tt) 65.95/22.38 mark(U12(x0)) 65.95/22.38 mark(isNat(x0)) 65.95/22.38 mark(U21(x0)) 65.95/22.38 mark(U31(x0, x1)) 65.95/22.38 mark(U32(x0)) 65.95/22.38 mark(U41(x0, x1)) 65.95/22.38 mark(U51(x0, x1, x2)) 65.95/22.38 mark(U52(x0, x1, x2)) 65.95/22.38 mark(s(x0)) 65.95/22.38 mark(plus(x0, x1)) 65.95/22.38 mark(U61(x0)) 65.95/22.38 mark(0) 65.95/22.38 mark(U71(x0, x1, x2)) 65.95/22.38 mark(U72(x0, x1, x2)) 65.95/22.38 mark(x(x0, x1)) 65.95/22.38 U11(mark(x0), x1) 65.95/22.38 U11(x0, mark(x1)) 65.95/22.38 U11(active(x0), x1) 65.95/22.38 U11(x0, active(x1)) 65.95/22.38 U12(mark(x0)) 65.95/22.38 U12(active(x0)) 65.95/22.38 isNat(mark(x0)) 65.95/22.38 isNat(active(x0)) 65.95/22.38 U21(mark(x0)) 65.95/22.38 U21(active(x0)) 65.95/22.38 U31(mark(x0), x1) 65.95/22.38 U31(x0, mark(x1)) 65.95/22.38 U31(active(x0), x1) 65.95/22.38 U31(x0, active(x1)) 65.95/22.38 U32(mark(x0)) 65.95/22.38 U32(active(x0)) 65.95/22.38 U41(mark(x0), x1) 65.95/22.38 U41(x0, mark(x1)) 65.95/22.38 U41(active(x0), x1) 65.95/22.38 U41(x0, active(x1)) 65.95/22.38 U51(mark(x0), x1, x2) 65.95/22.38 U51(x0, mark(x1), x2) 65.95/22.38 U51(x0, x1, mark(x2)) 65.95/22.38 U51(active(x0), x1, x2) 65.95/22.38 U51(x0, active(x1), x2) 65.95/22.38 U51(x0, x1, active(x2)) 65.95/22.38 U52(mark(x0), x1, x2) 65.95/22.38 U52(x0, mark(x1), x2) 65.95/22.38 U52(x0, x1, mark(x2)) 65.95/22.38 U52(active(x0), x1, x2) 65.95/22.38 U52(x0, active(x1), x2) 65.95/22.38 U52(x0, x1, active(x2)) 65.95/22.38 s(mark(x0)) 65.95/22.38 s(active(x0)) 65.95/22.38 plus(mark(x0), x1) 65.95/22.38 plus(x0, mark(x1)) 65.95/22.38 plus(active(x0), x1) 65.95/22.38 plus(x0, active(x1)) 65.95/22.38 U61(mark(x0)) 65.95/22.38 U61(active(x0)) 65.95/22.38 U71(mark(x0), x1, x2) 65.95/22.38 U71(x0, mark(x1), x2) 65.95/22.38 U71(x0, x1, mark(x2)) 65.95/22.38 U71(active(x0), x1, x2) 65.95/22.38 U71(x0, active(x1), x2) 65.95/22.38 U71(x0, x1, active(x2)) 65.95/22.38 U72(mark(x0), x1, x2) 65.95/22.38 U72(x0, mark(x1), x2) 65.95/22.38 U72(x0, x1, mark(x2)) 65.95/22.38 U72(active(x0), x1, x2) 65.95/22.38 U72(x0, active(x1), x2) 65.95/22.38 U72(x0, x1, active(x2)) 65.95/22.38 x(mark(x0), x1) 65.95/22.38 x(x0, mark(x1)) 65.95/22.38 x(active(x0), x1) 65.95/22.38 x(x0, active(x1)) 65.95/22.38 65.95/22.38 We have to consider all minimal (P,Q,R)-chains. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (99) QReductionProof (EQUIVALENT) 65.95/22.38 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.95/22.38 65.95/22.38 U11(mark(x0), x1) 65.95/22.38 U11(x0, mark(x1)) 65.95/22.38 U11(active(x0), x1) 65.95/22.38 U11(x0, active(x1)) 65.95/22.38 U12(mark(x0)) 65.95/22.38 U12(active(x0)) 65.95/22.38 isNat(mark(x0)) 65.95/22.38 isNat(active(x0)) 65.95/22.38 U21(mark(x0)) 65.95/22.38 U21(active(x0)) 65.95/22.38 U31(mark(x0), x1) 65.95/22.38 U31(x0, mark(x1)) 65.95/22.38 U31(active(x0), x1) 65.95/22.38 U31(x0, active(x1)) 65.95/22.38 U32(mark(x0)) 65.95/22.38 U32(active(x0)) 65.95/22.38 U41(mark(x0), x1) 65.95/22.38 U41(x0, mark(x1)) 65.95/22.38 U41(active(x0), x1) 65.95/22.38 U41(x0, active(x1)) 65.95/22.38 U51(mark(x0), x1, x2) 65.95/22.38 U51(x0, mark(x1), x2) 65.95/22.38 U51(x0, x1, mark(x2)) 65.95/22.38 U51(active(x0), x1, x2) 65.95/22.38 U51(x0, active(x1), x2) 65.95/22.38 U51(x0, x1, active(x2)) 65.95/22.38 U52(mark(x0), x1, x2) 65.95/22.38 U52(x0, mark(x1), x2) 65.95/22.38 U52(x0, x1, mark(x2)) 65.95/22.38 U52(active(x0), x1, x2) 65.95/22.38 U52(x0, active(x1), x2) 65.95/22.38 U52(x0, x1, active(x2)) 65.95/22.38 s(mark(x0)) 65.95/22.38 s(active(x0)) 65.95/22.38 plus(mark(x0), x1) 65.95/22.38 plus(x0, mark(x1)) 65.95/22.38 plus(active(x0), x1) 65.95/22.38 plus(x0, active(x1)) 65.95/22.38 U61(mark(x0)) 65.95/22.38 U61(active(x0)) 65.95/22.38 U71(mark(x0), x1, x2) 65.95/22.38 U71(x0, mark(x1), x2) 65.95/22.38 U71(x0, x1, mark(x2)) 65.95/22.38 U71(active(x0), x1, x2) 65.95/22.38 U71(x0, active(x1), x2) 65.95/22.38 U71(x0, x1, active(x2)) 65.95/22.38 U72(mark(x0), x1, x2) 65.95/22.38 U72(x0, mark(x1), x2) 65.95/22.38 U72(x0, x1, mark(x2)) 65.95/22.38 U72(active(x0), x1, x2) 65.95/22.38 U72(x0, active(x1), x2) 65.95/22.38 U72(x0, x1, active(x2)) 65.95/22.38 x(mark(x0), x1) 65.95/22.38 x(x0, mark(x1)) 65.95/22.38 x(active(x0), x1) 65.95/22.38 x(x0, active(x1)) 65.95/22.38 65.95/22.38 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (100) 65.95/22.38 Obligation: 65.95/22.38 Q DP problem: 65.95/22.38 The TRS P consists of the following rules: 65.95/22.38 65.95/22.38 U12^1(active(X)) -> U12^1(X) 65.95/22.38 U12^1(mark(X)) -> U12^1(X) 65.95/22.38 65.95/22.38 R is empty. 65.95/22.38 The set Q consists of the following terms: 65.95/22.38 65.95/22.38 active(U11(tt, x0)) 65.95/22.38 active(U12(tt)) 65.95/22.38 active(U21(tt)) 65.95/22.38 active(U31(tt, x0)) 65.95/22.38 active(U32(tt)) 65.95/22.38 active(U41(tt, x0)) 65.95/22.38 active(U51(tt, x0, x1)) 65.95/22.38 active(U52(tt, x0, x1)) 65.95/22.38 active(U61(tt)) 65.95/22.38 active(U71(tt, x0, x1)) 65.95/22.38 active(U72(tt, x0, x1)) 65.95/22.38 active(isNat(0)) 65.95/22.38 active(isNat(plus(x0, x1))) 65.95/22.38 active(isNat(s(x0))) 65.95/22.38 active(isNat(x(x0, x1))) 65.95/22.38 active(plus(x0, 0)) 65.95/22.38 active(plus(x0, s(x1))) 65.95/22.38 active(x(x0, 0)) 65.95/22.38 active(x(x0, s(x1))) 65.95/22.38 mark(U11(x0, x1)) 65.95/22.38 mark(tt) 65.95/22.38 mark(U12(x0)) 65.95/22.38 mark(isNat(x0)) 65.95/22.38 mark(U21(x0)) 65.95/22.38 mark(U31(x0, x1)) 65.95/22.38 mark(U32(x0)) 65.95/22.38 mark(U41(x0, x1)) 65.95/22.38 mark(U51(x0, x1, x2)) 65.95/22.38 mark(U52(x0, x1, x2)) 65.95/22.38 mark(s(x0)) 65.95/22.38 mark(plus(x0, x1)) 65.95/22.38 mark(U61(x0)) 65.95/22.38 mark(0) 65.95/22.38 mark(U71(x0, x1, x2)) 65.95/22.38 mark(U72(x0, x1, x2)) 65.95/22.38 mark(x(x0, x1)) 65.95/22.38 65.95/22.38 We have to consider all minimal (P,Q,R)-chains. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (101) QDPSizeChangeProof (EQUIVALENT) 65.95/22.38 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. 65.95/22.38 65.95/22.38 From the DPs we obtained the following set of size-change graphs: 65.95/22.38 *U12^1(active(X)) -> U12^1(X) 65.95/22.38 The graph contains the following edges 1 > 1 65.95/22.38 65.95/22.38 65.95/22.38 *U12^1(mark(X)) -> U12^1(X) 65.95/22.38 The graph contains the following edges 1 > 1 65.95/22.38 65.95/22.38 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (102) 65.95/22.38 YES 65.95/22.38 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (103) 65.95/22.38 Obligation: 65.95/22.38 Q DP problem: 65.95/22.38 The TRS P consists of the following rules: 65.95/22.38 65.95/22.38 U11^1(X1, mark(X2)) -> U11^1(X1, X2) 65.95/22.38 U11^1(mark(X1), X2) -> U11^1(X1, X2) 65.95/22.38 U11^1(active(X1), X2) -> U11^1(X1, X2) 65.95/22.38 U11^1(X1, active(X2)) -> U11^1(X1, X2) 65.95/22.38 65.95/22.38 The TRS R consists of the following rules: 65.95/22.38 65.95/22.38 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.38 active(U12(tt)) -> mark(tt) 65.95/22.38 active(U21(tt)) -> mark(tt) 65.95/22.38 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.38 active(U32(tt)) -> mark(tt) 65.95/22.38 active(U41(tt, N)) -> mark(N) 65.95/22.38 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.38 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.38 active(U61(tt)) -> mark(0) 65.95/22.38 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.38 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.38 active(isNat(0)) -> mark(tt) 65.95/22.38 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.38 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.38 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.38 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.38 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.38 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.38 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.38 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.38 mark(tt) -> active(tt) 65.95/22.38 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.38 mark(isNat(X)) -> active(isNat(X)) 65.95/22.38 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.38 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.38 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.38 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.38 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.38 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.38 mark(s(X)) -> active(s(mark(X))) 65.95/22.38 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.38 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.38 mark(0) -> active(0) 65.95/22.38 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.38 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.38 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.38 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.38 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.38 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.38 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.38 U12(mark(X)) -> U12(X) 65.95/22.38 U12(active(X)) -> U12(X) 65.95/22.38 isNat(mark(X)) -> isNat(X) 65.95/22.38 isNat(active(X)) -> isNat(X) 65.95/22.38 U21(mark(X)) -> U21(X) 65.95/22.38 U21(active(X)) -> U21(X) 65.95/22.38 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.38 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.38 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.38 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.38 U32(mark(X)) -> U32(X) 65.95/22.38 U32(active(X)) -> U32(X) 65.95/22.38 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.38 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.38 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.38 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.38 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.38 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.38 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.38 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.38 s(mark(X)) -> s(X) 65.95/22.38 s(active(X)) -> s(X) 65.95/22.38 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.38 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.38 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.38 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.38 U61(mark(X)) -> U61(X) 65.95/22.38 U61(active(X)) -> U61(X) 65.95/22.38 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.38 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.38 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.38 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.38 x(mark(X1), X2) -> x(X1, X2) 65.95/22.38 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.38 x(active(X1), X2) -> x(X1, X2) 65.95/22.38 x(X1, active(X2)) -> x(X1, X2) 65.95/22.38 65.95/22.38 The set Q consists of the following terms: 65.95/22.38 65.95/22.38 active(U11(tt, x0)) 65.95/22.38 active(U12(tt)) 65.95/22.38 active(U21(tt)) 65.95/22.38 active(U31(tt, x0)) 65.95/22.38 active(U32(tt)) 65.95/22.38 active(U41(tt, x0)) 65.95/22.38 active(U51(tt, x0, x1)) 65.95/22.38 active(U52(tt, x0, x1)) 65.95/22.38 active(U61(tt)) 65.95/22.38 active(U71(tt, x0, x1)) 65.95/22.38 active(U72(tt, x0, x1)) 65.95/22.38 active(isNat(0)) 65.95/22.38 active(isNat(plus(x0, x1))) 65.95/22.38 active(isNat(s(x0))) 65.95/22.38 active(isNat(x(x0, x1))) 65.95/22.38 active(plus(x0, 0)) 65.95/22.38 active(plus(x0, s(x1))) 65.95/22.38 active(x(x0, 0)) 65.95/22.38 active(x(x0, s(x1))) 65.95/22.38 mark(U11(x0, x1)) 65.95/22.38 mark(tt) 65.95/22.38 mark(U12(x0)) 65.95/22.38 mark(isNat(x0)) 65.95/22.38 mark(U21(x0)) 65.95/22.38 mark(U31(x0, x1)) 65.95/22.38 mark(U32(x0)) 65.95/22.38 mark(U41(x0, x1)) 65.95/22.38 mark(U51(x0, x1, x2)) 65.95/22.38 mark(U52(x0, x1, x2)) 65.95/22.38 mark(s(x0)) 65.95/22.38 mark(plus(x0, x1)) 65.95/22.38 mark(U61(x0)) 65.95/22.38 mark(0) 65.95/22.38 mark(U71(x0, x1, x2)) 65.95/22.38 mark(U72(x0, x1, x2)) 65.95/22.38 mark(x(x0, x1)) 65.95/22.38 U11(mark(x0), x1) 65.95/22.38 U11(x0, mark(x1)) 65.95/22.38 U11(active(x0), x1) 65.95/22.38 U11(x0, active(x1)) 65.95/22.38 U12(mark(x0)) 65.95/22.38 U12(active(x0)) 65.95/22.38 isNat(mark(x0)) 65.95/22.38 isNat(active(x0)) 65.95/22.38 U21(mark(x0)) 65.95/22.38 U21(active(x0)) 65.95/22.38 U31(mark(x0), x1) 65.95/22.38 U31(x0, mark(x1)) 65.95/22.38 U31(active(x0), x1) 65.95/22.38 U31(x0, active(x1)) 65.95/22.38 U32(mark(x0)) 65.95/22.38 U32(active(x0)) 65.95/22.38 U41(mark(x0), x1) 65.95/22.38 U41(x0, mark(x1)) 65.95/22.38 U41(active(x0), x1) 65.95/22.38 U41(x0, active(x1)) 65.95/22.38 U51(mark(x0), x1, x2) 65.95/22.38 U51(x0, mark(x1), x2) 65.95/22.38 U51(x0, x1, mark(x2)) 65.95/22.38 U51(active(x0), x1, x2) 65.95/22.38 U51(x0, active(x1), x2) 65.95/22.38 U51(x0, x1, active(x2)) 65.95/22.38 U52(mark(x0), x1, x2) 65.95/22.38 U52(x0, mark(x1), x2) 65.95/22.38 U52(x0, x1, mark(x2)) 65.95/22.38 U52(active(x0), x1, x2) 65.95/22.38 U52(x0, active(x1), x2) 65.95/22.38 U52(x0, x1, active(x2)) 65.95/22.38 s(mark(x0)) 65.95/22.38 s(active(x0)) 65.95/22.38 plus(mark(x0), x1) 65.95/22.38 plus(x0, mark(x1)) 65.95/22.38 plus(active(x0), x1) 65.95/22.38 plus(x0, active(x1)) 65.95/22.38 U61(mark(x0)) 65.95/22.38 U61(active(x0)) 65.95/22.38 U71(mark(x0), x1, x2) 65.95/22.38 U71(x0, mark(x1), x2) 65.95/22.38 U71(x0, x1, mark(x2)) 65.95/22.38 U71(active(x0), x1, x2) 65.95/22.38 U71(x0, active(x1), x2) 65.95/22.38 U71(x0, x1, active(x2)) 65.95/22.38 U72(mark(x0), x1, x2) 65.95/22.38 U72(x0, mark(x1), x2) 65.95/22.38 U72(x0, x1, mark(x2)) 65.95/22.38 U72(active(x0), x1, x2) 65.95/22.38 U72(x0, active(x1), x2) 65.95/22.38 U72(x0, x1, active(x2)) 65.95/22.38 x(mark(x0), x1) 65.95/22.38 x(x0, mark(x1)) 65.95/22.38 x(active(x0), x1) 65.95/22.38 x(x0, active(x1)) 65.95/22.38 65.95/22.38 We have to consider all minimal (P,Q,R)-chains. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (104) UsableRulesProof (EQUIVALENT) 65.95/22.38 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. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (105) 65.95/22.38 Obligation: 65.95/22.38 Q DP problem: 65.95/22.38 The TRS P consists of the following rules: 65.95/22.38 65.95/22.38 U11^1(X1, mark(X2)) -> U11^1(X1, X2) 65.95/22.38 U11^1(mark(X1), X2) -> U11^1(X1, X2) 65.95/22.38 U11^1(active(X1), X2) -> U11^1(X1, X2) 65.95/22.38 U11^1(X1, active(X2)) -> U11^1(X1, X2) 65.95/22.38 65.95/22.38 R is empty. 65.95/22.38 The set Q consists of the following terms: 65.95/22.38 65.95/22.38 active(U11(tt, x0)) 65.95/22.38 active(U12(tt)) 65.95/22.38 active(U21(tt)) 65.95/22.38 active(U31(tt, x0)) 65.95/22.38 active(U32(tt)) 65.95/22.38 active(U41(tt, x0)) 65.95/22.38 active(U51(tt, x0, x1)) 65.95/22.38 active(U52(tt, x0, x1)) 65.95/22.38 active(U61(tt)) 65.95/22.38 active(U71(tt, x0, x1)) 65.95/22.38 active(U72(tt, x0, x1)) 65.95/22.38 active(isNat(0)) 65.95/22.38 active(isNat(plus(x0, x1))) 65.95/22.38 active(isNat(s(x0))) 65.95/22.38 active(isNat(x(x0, x1))) 65.95/22.38 active(plus(x0, 0)) 65.95/22.38 active(plus(x0, s(x1))) 65.95/22.38 active(x(x0, 0)) 65.95/22.38 active(x(x0, s(x1))) 65.95/22.38 mark(U11(x0, x1)) 65.95/22.38 mark(tt) 65.95/22.38 mark(U12(x0)) 65.95/22.38 mark(isNat(x0)) 65.95/22.38 mark(U21(x0)) 65.95/22.38 mark(U31(x0, x1)) 65.95/22.38 mark(U32(x0)) 65.95/22.38 mark(U41(x0, x1)) 65.95/22.38 mark(U51(x0, x1, x2)) 65.95/22.38 mark(U52(x0, x1, x2)) 65.95/22.38 mark(s(x0)) 65.95/22.38 mark(plus(x0, x1)) 65.95/22.38 mark(U61(x0)) 65.95/22.38 mark(0) 65.95/22.38 mark(U71(x0, x1, x2)) 65.95/22.38 mark(U72(x0, x1, x2)) 65.95/22.38 mark(x(x0, x1)) 65.95/22.38 U11(mark(x0), x1) 65.95/22.38 U11(x0, mark(x1)) 65.95/22.38 U11(active(x0), x1) 65.95/22.38 U11(x0, active(x1)) 65.95/22.38 U12(mark(x0)) 65.95/22.38 U12(active(x0)) 65.95/22.38 isNat(mark(x0)) 65.95/22.38 isNat(active(x0)) 65.95/22.38 U21(mark(x0)) 65.95/22.38 U21(active(x0)) 65.95/22.38 U31(mark(x0), x1) 65.95/22.38 U31(x0, mark(x1)) 65.95/22.38 U31(active(x0), x1) 65.95/22.38 U31(x0, active(x1)) 65.95/22.38 U32(mark(x0)) 65.95/22.38 U32(active(x0)) 65.95/22.38 U41(mark(x0), x1) 65.95/22.38 U41(x0, mark(x1)) 65.95/22.38 U41(active(x0), x1) 65.95/22.38 U41(x0, active(x1)) 65.95/22.38 U51(mark(x0), x1, x2) 65.95/22.38 U51(x0, mark(x1), x2) 65.95/22.38 U51(x0, x1, mark(x2)) 65.95/22.38 U51(active(x0), x1, x2) 65.95/22.38 U51(x0, active(x1), x2) 65.95/22.38 U51(x0, x1, active(x2)) 65.95/22.38 U52(mark(x0), x1, x2) 65.95/22.38 U52(x0, mark(x1), x2) 65.95/22.38 U52(x0, x1, mark(x2)) 65.95/22.38 U52(active(x0), x1, x2) 65.95/22.38 U52(x0, active(x1), x2) 65.95/22.38 U52(x0, x1, active(x2)) 65.95/22.38 s(mark(x0)) 65.95/22.38 s(active(x0)) 65.95/22.38 plus(mark(x0), x1) 65.95/22.38 plus(x0, mark(x1)) 65.95/22.38 plus(active(x0), x1) 65.95/22.38 plus(x0, active(x1)) 65.95/22.38 U61(mark(x0)) 65.95/22.38 U61(active(x0)) 65.95/22.38 U71(mark(x0), x1, x2) 65.95/22.38 U71(x0, mark(x1), x2) 65.95/22.38 U71(x0, x1, mark(x2)) 65.95/22.38 U71(active(x0), x1, x2) 65.95/22.38 U71(x0, active(x1), x2) 65.95/22.38 U71(x0, x1, active(x2)) 65.95/22.38 U72(mark(x0), x1, x2) 65.95/22.38 U72(x0, mark(x1), x2) 65.95/22.38 U72(x0, x1, mark(x2)) 65.95/22.38 U72(active(x0), x1, x2) 65.95/22.38 U72(x0, active(x1), x2) 65.95/22.38 U72(x0, x1, active(x2)) 65.95/22.38 x(mark(x0), x1) 65.95/22.38 x(x0, mark(x1)) 65.95/22.38 x(active(x0), x1) 65.95/22.38 x(x0, active(x1)) 65.95/22.38 65.95/22.38 We have to consider all minimal (P,Q,R)-chains. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (106) QReductionProof (EQUIVALENT) 65.95/22.38 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.95/22.38 65.95/22.38 U11(mark(x0), x1) 65.95/22.38 U11(x0, mark(x1)) 65.95/22.38 U11(active(x0), x1) 65.95/22.38 U11(x0, active(x1)) 65.95/22.38 U12(mark(x0)) 65.95/22.38 U12(active(x0)) 65.95/22.38 isNat(mark(x0)) 65.95/22.38 isNat(active(x0)) 65.95/22.38 U21(mark(x0)) 65.95/22.38 U21(active(x0)) 65.95/22.38 U31(mark(x0), x1) 65.95/22.38 U31(x0, mark(x1)) 65.95/22.38 U31(active(x0), x1) 65.95/22.38 U31(x0, active(x1)) 65.95/22.38 U32(mark(x0)) 65.95/22.38 U32(active(x0)) 65.95/22.38 U41(mark(x0), x1) 65.95/22.38 U41(x0, mark(x1)) 65.95/22.38 U41(active(x0), x1) 65.95/22.38 U41(x0, active(x1)) 65.95/22.38 U51(mark(x0), x1, x2) 65.95/22.38 U51(x0, mark(x1), x2) 65.95/22.38 U51(x0, x1, mark(x2)) 65.95/22.38 U51(active(x0), x1, x2) 65.95/22.38 U51(x0, active(x1), x2) 65.95/22.38 U51(x0, x1, active(x2)) 65.95/22.38 U52(mark(x0), x1, x2) 65.95/22.38 U52(x0, mark(x1), x2) 65.95/22.38 U52(x0, x1, mark(x2)) 65.95/22.38 U52(active(x0), x1, x2) 65.95/22.38 U52(x0, active(x1), x2) 65.95/22.38 U52(x0, x1, active(x2)) 65.95/22.38 s(mark(x0)) 65.95/22.38 s(active(x0)) 65.95/22.38 plus(mark(x0), x1) 65.95/22.38 plus(x0, mark(x1)) 65.95/22.38 plus(active(x0), x1) 65.95/22.38 plus(x0, active(x1)) 65.95/22.38 U61(mark(x0)) 65.95/22.38 U61(active(x0)) 65.95/22.38 U71(mark(x0), x1, x2) 65.95/22.38 U71(x0, mark(x1), x2) 65.95/22.38 U71(x0, x1, mark(x2)) 65.95/22.38 U71(active(x0), x1, x2) 65.95/22.38 U71(x0, active(x1), x2) 65.95/22.38 U71(x0, x1, active(x2)) 65.95/22.38 U72(mark(x0), x1, x2) 65.95/22.38 U72(x0, mark(x1), x2) 65.95/22.38 U72(x0, x1, mark(x2)) 65.95/22.38 U72(active(x0), x1, x2) 65.95/22.38 U72(x0, active(x1), x2) 65.95/22.38 U72(x0, x1, active(x2)) 65.95/22.38 x(mark(x0), x1) 65.95/22.38 x(x0, mark(x1)) 65.95/22.38 x(active(x0), x1) 65.95/22.38 x(x0, active(x1)) 65.95/22.38 65.95/22.38 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (107) 65.95/22.38 Obligation: 65.95/22.38 Q DP problem: 65.95/22.38 The TRS P consists of the following rules: 65.95/22.38 65.95/22.38 U11^1(X1, mark(X2)) -> U11^1(X1, X2) 65.95/22.38 U11^1(mark(X1), X2) -> U11^1(X1, X2) 65.95/22.38 U11^1(active(X1), X2) -> U11^1(X1, X2) 65.95/22.38 U11^1(X1, active(X2)) -> U11^1(X1, X2) 65.95/22.38 65.95/22.38 R is empty. 65.95/22.38 The set Q consists of the following terms: 65.95/22.38 65.95/22.38 active(U11(tt, x0)) 65.95/22.38 active(U12(tt)) 65.95/22.38 active(U21(tt)) 65.95/22.38 active(U31(tt, x0)) 65.95/22.38 active(U32(tt)) 65.95/22.38 active(U41(tt, x0)) 65.95/22.38 active(U51(tt, x0, x1)) 65.95/22.38 active(U52(tt, x0, x1)) 65.95/22.38 active(U61(tt)) 65.95/22.38 active(U71(tt, x0, x1)) 65.95/22.38 active(U72(tt, x0, x1)) 65.95/22.38 active(isNat(0)) 65.95/22.38 active(isNat(plus(x0, x1))) 65.95/22.38 active(isNat(s(x0))) 65.95/22.38 active(isNat(x(x0, x1))) 65.95/22.38 active(plus(x0, 0)) 65.95/22.38 active(plus(x0, s(x1))) 65.95/22.38 active(x(x0, 0)) 65.95/22.38 active(x(x0, s(x1))) 65.95/22.38 mark(U11(x0, x1)) 65.95/22.38 mark(tt) 65.95/22.38 mark(U12(x0)) 65.95/22.38 mark(isNat(x0)) 65.95/22.38 mark(U21(x0)) 65.95/22.38 mark(U31(x0, x1)) 65.95/22.38 mark(U32(x0)) 65.95/22.38 mark(U41(x0, x1)) 65.95/22.38 mark(U51(x0, x1, x2)) 65.95/22.38 mark(U52(x0, x1, x2)) 65.95/22.38 mark(s(x0)) 65.95/22.38 mark(plus(x0, x1)) 65.95/22.38 mark(U61(x0)) 65.95/22.38 mark(0) 65.95/22.38 mark(U71(x0, x1, x2)) 65.95/22.38 mark(U72(x0, x1, x2)) 65.95/22.38 mark(x(x0, x1)) 65.95/22.38 65.95/22.38 We have to consider all minimal (P,Q,R)-chains. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (108) QDPSizeChangeProof (EQUIVALENT) 65.95/22.38 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. 65.95/22.38 65.95/22.38 From the DPs we obtained the following set of size-change graphs: 65.95/22.38 *U11^1(X1, mark(X2)) -> U11^1(X1, X2) 65.95/22.38 The graph contains the following edges 1 >= 1, 2 > 2 65.95/22.38 65.95/22.38 65.95/22.38 *U11^1(mark(X1), X2) -> U11^1(X1, X2) 65.95/22.38 The graph contains the following edges 1 > 1, 2 >= 2 65.95/22.38 65.95/22.38 65.95/22.38 *U11^1(active(X1), X2) -> U11^1(X1, X2) 65.95/22.38 The graph contains the following edges 1 > 1, 2 >= 2 65.95/22.38 65.95/22.38 65.95/22.38 *U11^1(X1, active(X2)) -> U11^1(X1, X2) 65.95/22.38 The graph contains the following edges 1 >= 1, 2 > 2 65.95/22.38 65.95/22.38 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (109) 65.95/22.38 YES 65.95/22.38 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (110) 65.95/22.38 Obligation: 65.95/22.38 Q DP problem: 65.95/22.38 The TRS P consists of the following rules: 65.95/22.38 65.95/22.38 MARK(U12(X)) -> ACTIVE(U12(mark(X))) 65.95/22.38 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.95/22.38 MARK(U12(X)) -> MARK(X) 65.95/22.38 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.95/22.38 ACTIVE(U31(tt, V2)) -> MARK(U32(isNat(V2))) 65.95/22.38 MARK(U32(X)) -> ACTIVE(U32(mark(X))) 65.95/22.38 ACTIVE(U41(tt, N)) -> MARK(N) 65.95/22.38 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.38 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.38 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.38 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.38 MARK(U21(X)) -> ACTIVE(U21(mark(X))) 65.95/22.38 ACTIVE(U51(tt, M, N)) -> MARK(U52(isNat(N), M, N)) 65.95/22.38 MARK(U52(X1, X2, X3)) -> ACTIVE(U52(mark(X1), X2, X3)) 65.95/22.38 ACTIVE(U52(tt, M, N)) -> MARK(s(plus(N, M))) 65.95/22.38 MARK(s(X)) -> ACTIVE(s(mark(X))) 65.95/22.38 ACTIVE(U71(tt, M, N)) -> MARK(U72(isNat(N), M, N)) 65.95/22.38 MARK(U72(X1, X2, X3)) -> ACTIVE(U72(mark(X1), X2, X3)) 65.95/22.38 ACTIVE(U72(tt, M, N)) -> MARK(plus(x(N, M), N)) 65.95/22.38 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 65.95/22.38 ACTIVE(plus(N, 0)) -> MARK(U41(isNat(N), N)) 65.95/22.38 MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) 65.95/22.38 ACTIVE(plus(N, s(M))) -> MARK(U51(isNat(M), M, N)) 65.95/22.38 MARK(U51(X1, X2, X3)) -> ACTIVE(U51(mark(X1), X2, X3)) 65.95/22.38 ACTIVE(x(N, 0)) -> MARK(U61(isNat(N))) 65.95/22.38 MARK(U61(X)) -> ACTIVE(U61(mark(X))) 65.95/22.38 ACTIVE(x(N, s(M))) -> MARK(U71(isNat(M), M, N)) 65.95/22.38 MARK(U71(X1, X2, X3)) -> ACTIVE(U71(mark(X1), X2, X3)) 65.95/22.38 MARK(U71(X1, X2, X3)) -> MARK(X1) 65.95/22.38 MARK(U21(X)) -> MARK(X) 65.95/22.38 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 65.95/22.38 MARK(U31(X1, X2)) -> MARK(X1) 65.95/22.38 MARK(U32(X)) -> MARK(X) 65.95/22.38 MARK(U41(X1, X2)) -> MARK(X1) 65.95/22.38 MARK(U51(X1, X2, X3)) -> MARK(X1) 65.95/22.38 MARK(U52(X1, X2, X3)) -> MARK(X1) 65.95/22.38 MARK(s(X)) -> MARK(X) 65.95/22.38 MARK(plus(X1, X2)) -> MARK(X1) 65.95/22.38 MARK(plus(X1, X2)) -> MARK(X2) 65.95/22.38 MARK(U61(X)) -> MARK(X) 65.95/22.38 MARK(U72(X1, X2, X3)) -> MARK(X1) 65.95/22.38 MARK(x(X1, X2)) -> ACTIVE(x(mark(X1), mark(X2))) 65.95/22.38 MARK(x(X1, X2)) -> MARK(X1) 65.95/22.38 MARK(x(X1, X2)) -> MARK(X2) 65.95/22.38 ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNat(V1), V2)) 65.95/22.38 65.95/22.38 The TRS R consists of the following rules: 65.95/22.38 65.95/22.38 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.38 active(U12(tt)) -> mark(tt) 65.95/22.38 active(U21(tt)) -> mark(tt) 65.95/22.38 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.38 active(U32(tt)) -> mark(tt) 65.95/22.38 active(U41(tt, N)) -> mark(N) 65.95/22.38 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.38 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.38 active(U61(tt)) -> mark(0) 65.95/22.38 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.38 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.38 active(isNat(0)) -> mark(tt) 65.95/22.38 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.38 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.38 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.38 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.38 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.38 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.38 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.38 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.38 mark(tt) -> active(tt) 65.95/22.38 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.38 mark(isNat(X)) -> active(isNat(X)) 65.95/22.38 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.38 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.38 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.38 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.38 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.38 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.38 mark(s(X)) -> active(s(mark(X))) 65.95/22.38 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.38 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.38 mark(0) -> active(0) 65.95/22.38 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.38 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.38 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.38 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.38 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.38 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.38 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.38 U12(mark(X)) -> U12(X) 65.95/22.38 U12(active(X)) -> U12(X) 65.95/22.38 isNat(mark(X)) -> isNat(X) 65.95/22.38 isNat(active(X)) -> isNat(X) 65.95/22.38 U21(mark(X)) -> U21(X) 65.95/22.38 U21(active(X)) -> U21(X) 65.95/22.38 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.38 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.38 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.38 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.38 U32(mark(X)) -> U32(X) 65.95/22.38 U32(active(X)) -> U32(X) 65.95/22.38 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.38 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.38 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.38 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.38 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.38 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.38 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.38 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.38 s(mark(X)) -> s(X) 65.95/22.38 s(active(X)) -> s(X) 65.95/22.38 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.38 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.38 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.38 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.38 U61(mark(X)) -> U61(X) 65.95/22.38 U61(active(X)) -> U61(X) 65.95/22.38 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.38 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.38 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.38 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.38 x(mark(X1), X2) -> x(X1, X2) 65.95/22.38 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.38 x(active(X1), X2) -> x(X1, X2) 65.95/22.38 x(X1, active(X2)) -> x(X1, X2) 65.95/22.38 65.95/22.38 The set Q consists of the following terms: 65.95/22.38 65.95/22.38 active(U11(tt, x0)) 65.95/22.38 active(U12(tt)) 65.95/22.38 active(U21(tt)) 65.95/22.38 active(U31(tt, x0)) 65.95/22.38 active(U32(tt)) 65.95/22.38 active(U41(tt, x0)) 65.95/22.38 active(U51(tt, x0, x1)) 65.95/22.38 active(U52(tt, x0, x1)) 65.95/22.38 active(U61(tt)) 65.95/22.38 active(U71(tt, x0, x1)) 65.95/22.38 active(U72(tt, x0, x1)) 65.95/22.38 active(isNat(0)) 65.95/22.38 active(isNat(plus(x0, x1))) 65.95/22.38 active(isNat(s(x0))) 65.95/22.38 active(isNat(x(x0, x1))) 65.95/22.38 active(plus(x0, 0)) 65.95/22.38 active(plus(x0, s(x1))) 65.95/22.38 active(x(x0, 0)) 65.95/22.38 active(x(x0, s(x1))) 65.95/22.38 mark(U11(x0, x1)) 65.95/22.38 mark(tt) 65.95/22.38 mark(U12(x0)) 65.95/22.38 mark(isNat(x0)) 65.95/22.38 mark(U21(x0)) 65.95/22.38 mark(U31(x0, x1)) 65.95/22.38 mark(U32(x0)) 65.95/22.38 mark(U41(x0, x1)) 65.95/22.38 mark(U51(x0, x1, x2)) 65.95/22.38 mark(U52(x0, x1, x2)) 65.95/22.38 mark(s(x0)) 65.95/22.38 mark(plus(x0, x1)) 65.95/22.38 mark(U61(x0)) 65.95/22.38 mark(0) 65.95/22.38 mark(U71(x0, x1, x2)) 65.95/22.38 mark(U72(x0, x1, x2)) 65.95/22.38 mark(x(x0, x1)) 65.95/22.38 U11(mark(x0), x1) 65.95/22.38 U11(x0, mark(x1)) 65.95/22.38 U11(active(x0), x1) 65.95/22.38 U11(x0, active(x1)) 65.95/22.38 U12(mark(x0)) 65.95/22.38 U12(active(x0)) 65.95/22.38 isNat(mark(x0)) 65.95/22.38 isNat(active(x0)) 65.95/22.38 U21(mark(x0)) 65.95/22.38 U21(active(x0)) 65.95/22.38 U31(mark(x0), x1) 65.95/22.38 U31(x0, mark(x1)) 65.95/22.38 U31(active(x0), x1) 65.95/22.38 U31(x0, active(x1)) 65.95/22.38 U32(mark(x0)) 65.95/22.38 U32(active(x0)) 65.95/22.38 U41(mark(x0), x1) 65.95/22.38 U41(x0, mark(x1)) 65.95/22.38 U41(active(x0), x1) 65.95/22.38 U41(x0, active(x1)) 65.95/22.38 U51(mark(x0), x1, x2) 65.95/22.38 U51(x0, mark(x1), x2) 65.95/22.38 U51(x0, x1, mark(x2)) 65.95/22.38 U51(active(x0), x1, x2) 65.95/22.38 U51(x0, active(x1), x2) 65.95/22.38 U51(x0, x1, active(x2)) 65.95/22.38 U52(mark(x0), x1, x2) 65.95/22.38 U52(x0, mark(x1), x2) 65.95/22.38 U52(x0, x1, mark(x2)) 65.95/22.38 U52(active(x0), x1, x2) 65.95/22.38 U52(x0, active(x1), x2) 65.95/22.38 U52(x0, x1, active(x2)) 65.95/22.38 s(mark(x0)) 65.95/22.38 s(active(x0)) 65.95/22.38 plus(mark(x0), x1) 65.95/22.38 plus(x0, mark(x1)) 65.95/22.38 plus(active(x0), x1) 65.95/22.38 plus(x0, active(x1)) 65.95/22.38 U61(mark(x0)) 65.95/22.38 U61(active(x0)) 65.95/22.38 U71(mark(x0), x1, x2) 65.95/22.38 U71(x0, mark(x1), x2) 65.95/22.38 U71(x0, x1, mark(x2)) 65.95/22.38 U71(active(x0), x1, x2) 65.95/22.38 U71(x0, active(x1), x2) 65.95/22.38 U71(x0, x1, active(x2)) 65.95/22.38 U72(mark(x0), x1, x2) 65.95/22.38 U72(x0, mark(x1), x2) 65.95/22.38 U72(x0, x1, mark(x2)) 65.95/22.38 U72(active(x0), x1, x2) 65.95/22.38 U72(x0, active(x1), x2) 65.95/22.38 U72(x0, x1, active(x2)) 65.95/22.38 x(mark(x0), x1) 65.95/22.38 x(x0, mark(x1)) 65.95/22.38 x(active(x0), x1) 65.95/22.38 x(x0, active(x1)) 65.95/22.38 65.95/22.38 We have to consider all minimal (P,Q,R)-chains. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (111) UsableRulesProof (EQUIVALENT) 65.95/22.38 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. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (112) 65.95/22.38 Obligation: 65.95/22.38 Q DP problem: 65.95/22.38 The TRS P consists of the following rules: 65.95/22.38 65.95/22.38 MARK(U12(X)) -> ACTIVE(U12(mark(X))) 65.95/22.38 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.95/22.38 MARK(U12(X)) -> MARK(X) 65.95/22.38 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.95/22.38 ACTIVE(U31(tt, V2)) -> MARK(U32(isNat(V2))) 65.95/22.38 MARK(U32(X)) -> ACTIVE(U32(mark(X))) 65.95/22.38 ACTIVE(U41(tt, N)) -> MARK(N) 65.95/22.38 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.38 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.38 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.38 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.38 MARK(U21(X)) -> ACTIVE(U21(mark(X))) 65.95/22.38 ACTIVE(U51(tt, M, N)) -> MARK(U52(isNat(N), M, N)) 65.95/22.38 MARK(U52(X1, X2, X3)) -> ACTIVE(U52(mark(X1), X2, X3)) 65.95/22.38 ACTIVE(U52(tt, M, N)) -> MARK(s(plus(N, M))) 65.95/22.38 MARK(s(X)) -> ACTIVE(s(mark(X))) 65.95/22.38 ACTIVE(U71(tt, M, N)) -> MARK(U72(isNat(N), M, N)) 65.95/22.38 MARK(U72(X1, X2, X3)) -> ACTIVE(U72(mark(X1), X2, X3)) 65.95/22.38 ACTIVE(U72(tt, M, N)) -> MARK(plus(x(N, M), N)) 65.95/22.38 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 65.95/22.38 ACTIVE(plus(N, 0)) -> MARK(U41(isNat(N), N)) 65.95/22.38 MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) 65.95/22.38 ACTIVE(plus(N, s(M))) -> MARK(U51(isNat(M), M, N)) 65.95/22.38 MARK(U51(X1, X2, X3)) -> ACTIVE(U51(mark(X1), X2, X3)) 65.95/22.38 ACTIVE(x(N, 0)) -> MARK(U61(isNat(N))) 65.95/22.38 MARK(U61(X)) -> ACTIVE(U61(mark(X))) 65.95/22.38 ACTIVE(x(N, s(M))) -> MARK(U71(isNat(M), M, N)) 65.95/22.38 MARK(U71(X1, X2, X3)) -> ACTIVE(U71(mark(X1), X2, X3)) 65.95/22.38 MARK(U71(X1, X2, X3)) -> MARK(X1) 65.95/22.38 MARK(U21(X)) -> MARK(X) 65.95/22.38 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 65.95/22.38 MARK(U31(X1, X2)) -> MARK(X1) 65.95/22.38 MARK(U32(X)) -> MARK(X) 65.95/22.38 MARK(U41(X1, X2)) -> MARK(X1) 65.95/22.38 MARK(U51(X1, X2, X3)) -> MARK(X1) 65.95/22.38 MARK(U52(X1, X2, X3)) -> MARK(X1) 65.95/22.38 MARK(s(X)) -> MARK(X) 65.95/22.38 MARK(plus(X1, X2)) -> MARK(X1) 65.95/22.38 MARK(plus(X1, X2)) -> MARK(X2) 65.95/22.38 MARK(U61(X)) -> MARK(X) 65.95/22.38 MARK(U72(X1, X2, X3)) -> MARK(X1) 65.95/22.38 MARK(x(X1, X2)) -> ACTIVE(x(mark(X1), mark(X2))) 65.95/22.38 MARK(x(X1, X2)) -> MARK(X1) 65.95/22.38 MARK(x(X1, X2)) -> MARK(X2) 65.95/22.38 ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNat(V1), V2)) 65.95/22.38 65.95/22.38 The TRS R consists of the following rules: 65.95/22.38 65.95/22.38 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.38 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.38 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.38 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.38 active(U41(tt, N)) -> mark(N) 65.95/22.38 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.38 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.38 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.38 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.38 mark(s(X)) -> active(s(mark(X))) 65.95/22.38 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.38 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.38 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.38 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.38 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.38 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.38 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.38 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.38 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.38 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.38 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.38 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.38 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.38 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.38 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.38 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.38 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.38 mark(isNat(X)) -> active(isNat(X)) 65.95/22.38 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.38 mark(tt) -> active(tt) 65.95/22.38 mark(0) -> active(0) 65.95/22.38 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.38 x(mark(X1), X2) -> x(X1, X2) 65.95/22.38 x(active(X1), X2) -> x(X1, X2) 65.95/22.38 x(X1, active(X2)) -> x(X1, X2) 65.95/22.38 U12(active(X)) -> U12(X) 65.95/22.38 U12(mark(X)) -> U12(X) 65.95/22.38 active(U12(tt)) -> mark(tt) 65.95/22.38 active(U21(tt)) -> mark(tt) 65.95/22.38 active(U32(tt)) -> mark(tt) 65.95/22.38 active(U61(tt)) -> mark(0) 65.95/22.38 active(isNat(0)) -> mark(tt) 65.95/22.38 U32(active(X)) -> U32(X) 65.95/22.38 U32(mark(X)) -> U32(X) 65.95/22.38 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.38 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.38 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.38 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.38 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.38 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.38 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.38 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.38 s(active(X)) -> s(X) 65.95/22.38 s(mark(X)) -> s(X) 65.95/22.38 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.38 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.38 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.38 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.38 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.38 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.38 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.38 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.38 U21(active(X)) -> U21(X) 65.95/22.38 U21(mark(X)) -> U21(X) 65.95/22.38 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.38 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.38 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.38 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.38 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.38 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.38 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.38 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.38 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.38 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.38 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.38 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.38 U61(active(X)) -> U61(X) 65.95/22.38 U61(mark(X)) -> U61(X) 65.95/22.38 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.38 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.38 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.38 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.38 65.95/22.38 The set Q consists of the following terms: 65.95/22.38 65.95/22.38 active(U11(tt, x0)) 65.95/22.38 active(U12(tt)) 65.95/22.38 active(U21(tt)) 65.95/22.38 active(U31(tt, x0)) 65.95/22.38 active(U32(tt)) 65.95/22.38 active(U41(tt, x0)) 65.95/22.38 active(U51(tt, x0, x1)) 65.95/22.38 active(U52(tt, x0, x1)) 65.95/22.38 active(U61(tt)) 65.95/22.38 active(U71(tt, x0, x1)) 65.95/22.38 active(U72(tt, x0, x1)) 65.95/22.38 active(isNat(0)) 65.95/22.38 active(isNat(plus(x0, x1))) 65.95/22.38 active(isNat(s(x0))) 65.95/22.38 active(isNat(x(x0, x1))) 65.95/22.38 active(plus(x0, 0)) 65.95/22.38 active(plus(x0, s(x1))) 65.95/22.38 active(x(x0, 0)) 65.95/22.38 active(x(x0, s(x1))) 65.95/22.38 mark(U11(x0, x1)) 65.95/22.38 mark(tt) 65.95/22.38 mark(U12(x0)) 65.95/22.38 mark(isNat(x0)) 65.95/22.38 mark(U21(x0)) 65.95/22.38 mark(U31(x0, x1)) 65.95/22.38 mark(U32(x0)) 65.95/22.38 mark(U41(x0, x1)) 65.95/22.38 mark(U51(x0, x1, x2)) 65.95/22.38 mark(U52(x0, x1, x2)) 65.95/22.38 mark(s(x0)) 65.95/22.38 mark(plus(x0, x1)) 65.95/22.38 mark(U61(x0)) 65.95/22.38 mark(0) 65.95/22.38 mark(U71(x0, x1, x2)) 65.95/22.38 mark(U72(x0, x1, x2)) 65.95/22.38 mark(x(x0, x1)) 65.95/22.38 U11(mark(x0), x1) 65.95/22.38 U11(x0, mark(x1)) 65.95/22.38 U11(active(x0), x1) 65.95/22.38 U11(x0, active(x1)) 65.95/22.38 U12(mark(x0)) 65.95/22.38 U12(active(x0)) 65.95/22.38 isNat(mark(x0)) 65.95/22.38 isNat(active(x0)) 65.95/22.38 U21(mark(x0)) 65.95/22.38 U21(active(x0)) 65.95/22.38 U31(mark(x0), x1) 65.95/22.38 U31(x0, mark(x1)) 65.95/22.38 U31(active(x0), x1) 65.95/22.38 U31(x0, active(x1)) 65.95/22.38 U32(mark(x0)) 65.95/22.38 U32(active(x0)) 65.95/22.38 U41(mark(x0), x1) 65.95/22.38 U41(x0, mark(x1)) 65.95/22.38 U41(active(x0), x1) 65.95/22.38 U41(x0, active(x1)) 65.95/22.38 U51(mark(x0), x1, x2) 65.95/22.38 U51(x0, mark(x1), x2) 65.95/22.38 U51(x0, x1, mark(x2)) 65.95/22.38 U51(active(x0), x1, x2) 65.95/22.38 U51(x0, active(x1), x2) 65.95/22.38 U51(x0, x1, active(x2)) 65.95/22.38 U52(mark(x0), x1, x2) 65.95/22.38 U52(x0, mark(x1), x2) 65.95/22.38 U52(x0, x1, mark(x2)) 65.95/22.38 U52(active(x0), x1, x2) 65.95/22.38 U52(x0, active(x1), x2) 65.95/22.38 U52(x0, x1, active(x2)) 65.95/22.38 s(mark(x0)) 65.95/22.38 s(active(x0)) 65.95/22.38 plus(mark(x0), x1) 65.95/22.38 plus(x0, mark(x1)) 65.95/22.38 plus(active(x0), x1) 65.95/22.38 plus(x0, active(x1)) 65.95/22.38 U61(mark(x0)) 65.95/22.38 U61(active(x0)) 65.95/22.38 U71(mark(x0), x1, x2) 65.95/22.38 U71(x0, mark(x1), x2) 65.95/22.38 U71(x0, x1, mark(x2)) 65.95/22.38 U71(active(x0), x1, x2) 65.95/22.38 U71(x0, active(x1), x2) 65.95/22.38 U71(x0, x1, active(x2)) 65.95/22.38 U72(mark(x0), x1, x2) 65.95/22.38 U72(x0, mark(x1), x2) 65.95/22.38 U72(x0, x1, mark(x2)) 65.95/22.38 U72(active(x0), x1, x2) 65.95/22.38 U72(x0, active(x1), x2) 65.95/22.38 U72(x0, x1, active(x2)) 65.95/22.38 x(mark(x0), x1) 65.95/22.38 x(x0, mark(x1)) 65.95/22.38 x(active(x0), x1) 65.95/22.38 x(x0, active(x1)) 65.95/22.38 65.95/22.38 We have to consider all minimal (P,Q,R)-chains. 65.95/22.38 ---------------------------------------- 65.95/22.38 65.95/22.38 (113) QDPOrderProof (EQUIVALENT) 65.95/22.38 We use the reduction pair processor [LPAR04,JAR06]. 65.95/22.38 65.95/22.38 65.95/22.38 The following pairs can be oriented strictly and are deleted. 65.95/22.38 65.95/22.38 MARK(U32(X)) -> ACTIVE(U32(mark(X))) 65.95/22.38 MARK(s(X)) -> ACTIVE(s(mark(X))) 65.95/22.38 The remaining pairs can at least be oriented weakly. 65.95/22.38 Used ordering: Combined order from the following AFS and order. 65.95/22.38 MARK(x1) = MARK 65.95/22.38 65.95/22.38 U12(x1) = U12 65.95/22.38 65.95/22.38 ACTIVE(x1) = x1 65.95/22.38 65.95/22.38 mark(x1) = mark(x1) 65.95/22.38 65.95/22.38 U11(x1, x2) = U11 65.95/22.39 65.95/22.39 tt = tt 65.95/22.39 65.95/22.39 isNat(x1) = isNat 65.95/22.39 65.95/22.39 U31(x1, x2) = U31 65.95/22.39 65.95/22.39 U32(x1) = U32 65.95/22.39 65.95/22.39 U41(x1, x2) = U41 65.95/22.39 65.95/22.39 plus(x1, x2) = plus 65.95/22.39 65.95/22.39 s(x1) = s 65.95/22.39 65.95/22.39 U21(x1) = U21 65.95/22.39 65.95/22.39 U51(x1, x2, x3) = U51 65.95/22.39 65.95/22.39 U52(x1, x2, x3) = U52 65.95/22.39 65.95/22.39 U71(x1, x2, x3) = U71 65.95/22.39 65.95/22.39 U72(x1, x2, x3) = U72 65.95/22.39 65.95/22.39 x(x1, x2) = x 65.95/22.39 65.95/22.39 0 = 0 65.95/22.39 65.95/22.39 U61(x1) = U61 65.95/22.39 65.95/22.39 active(x1) = x1 65.95/22.39 65.95/22.39 65.95/22.39 Recursive path order with status [RPO]. 65.95/22.39 Quasi-Precedence: [mark_1, 0] > [MARK, U12, U11, isNat, U31, U41, plus, U21, U51, U52, U71, U72, x, U61] > U32 > tt > s 65.95/22.39 65.95/22.39 Status: MARK: multiset status 65.95/22.39 U12: multiset status 65.95/22.39 mark_1: [1] 65.95/22.39 U11: multiset status 65.95/22.39 tt: multiset status 65.95/22.39 isNat: multiset status 65.95/22.39 U31: multiset status 65.95/22.39 U32: multiset status 65.95/22.39 U41: multiset status 65.95/22.39 plus: multiset status 65.95/22.39 s: multiset status 65.95/22.39 U21: multiset status 65.95/22.39 U51: multiset status 65.95/22.39 U52: multiset status 65.95/22.39 U71: multiset status 65.95/22.39 U72: multiset status 65.95/22.39 x: multiset status 65.95/22.39 0: multiset status 65.95/22.39 U61: multiset status 65.95/22.39 65.95/22.39 65.95/22.39 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 65.95/22.39 65.95/22.39 U12(active(X)) -> U12(X) 65.95/22.39 U12(mark(X)) -> U12(X) 65.95/22.39 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.39 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.39 U32(active(X)) -> U32(X) 65.95/22.39 U32(mark(X)) -> U32(X) 65.95/22.39 U21(active(X)) -> U21(X) 65.95/22.39 U21(mark(X)) -> U21(X) 65.95/22.39 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.39 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.39 s(active(X)) -> s(X) 65.95/22.39 s(mark(X)) -> s(X) 65.95/22.39 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.39 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.39 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.39 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.39 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.39 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.39 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.39 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.39 U61(active(X)) -> U61(X) 65.95/22.39 U61(mark(X)) -> U61(X) 65.95/22.39 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.39 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.39 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.39 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.39 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.39 x(mark(X1), X2) -> x(X1, X2) 65.95/22.39 x(active(X1), X2) -> x(X1, X2) 65.95/22.39 x(X1, active(X2)) -> x(X1, X2) 65.95/22.39 65.95/22.39 65.95/22.39 ---------------------------------------- 65.95/22.39 65.95/22.39 (114) 65.95/22.39 Obligation: 65.95/22.39 Q DP problem: 65.95/22.39 The TRS P consists of the following rules: 65.95/22.39 65.95/22.39 MARK(U12(X)) -> ACTIVE(U12(mark(X))) 65.95/22.39 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.95/22.39 MARK(U12(X)) -> MARK(X) 65.95/22.39 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.95/22.39 ACTIVE(U31(tt, V2)) -> MARK(U32(isNat(V2))) 65.95/22.39 ACTIVE(U41(tt, N)) -> MARK(N) 65.95/22.39 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.39 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.39 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.39 MARK(U21(X)) -> ACTIVE(U21(mark(X))) 65.95/22.39 ACTIVE(U51(tt, M, N)) -> MARK(U52(isNat(N), M, N)) 65.95/22.39 MARK(U52(X1, X2, X3)) -> ACTIVE(U52(mark(X1), X2, X3)) 65.95/22.39 ACTIVE(U52(tt, M, N)) -> MARK(s(plus(N, M))) 65.95/22.39 ACTIVE(U71(tt, M, N)) -> MARK(U72(isNat(N), M, N)) 65.95/22.39 MARK(U72(X1, X2, X3)) -> ACTIVE(U72(mark(X1), X2, X3)) 65.95/22.39 ACTIVE(U72(tt, M, N)) -> MARK(plus(x(N, M), N)) 65.95/22.39 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 65.95/22.39 ACTIVE(plus(N, 0)) -> MARK(U41(isNat(N), N)) 65.95/22.39 MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) 65.95/22.39 ACTIVE(plus(N, s(M))) -> MARK(U51(isNat(M), M, N)) 65.95/22.39 MARK(U51(X1, X2, X3)) -> ACTIVE(U51(mark(X1), X2, X3)) 65.95/22.39 ACTIVE(x(N, 0)) -> MARK(U61(isNat(N))) 65.95/22.39 MARK(U61(X)) -> ACTIVE(U61(mark(X))) 65.95/22.39 ACTIVE(x(N, s(M))) -> MARK(U71(isNat(M), M, N)) 65.95/22.39 MARK(U71(X1, X2, X3)) -> ACTIVE(U71(mark(X1), X2, X3)) 65.95/22.39 MARK(U71(X1, X2, X3)) -> MARK(X1) 65.95/22.39 MARK(U21(X)) -> MARK(X) 65.95/22.39 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 65.95/22.39 MARK(U31(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(U32(X)) -> MARK(X) 65.95/22.39 MARK(U41(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(U51(X1, X2, X3)) -> MARK(X1) 65.95/22.39 MARK(U52(X1, X2, X3)) -> MARK(X1) 65.95/22.39 MARK(s(X)) -> MARK(X) 65.95/22.39 MARK(plus(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(plus(X1, X2)) -> MARK(X2) 65.95/22.39 MARK(U61(X)) -> MARK(X) 65.95/22.39 MARK(U72(X1, X2, X3)) -> MARK(X1) 65.95/22.39 MARK(x(X1, X2)) -> ACTIVE(x(mark(X1), mark(X2))) 65.95/22.39 MARK(x(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(x(X1, X2)) -> MARK(X2) 65.95/22.39 ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNat(V1), V2)) 65.95/22.39 65.95/22.39 The TRS R consists of the following rules: 65.95/22.39 65.95/22.39 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.39 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.39 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.39 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.39 active(U41(tt, N)) -> mark(N) 65.95/22.39 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.39 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.39 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.39 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.39 mark(s(X)) -> active(s(mark(X))) 65.95/22.39 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.39 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.39 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.39 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.39 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.39 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.39 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.39 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.39 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.39 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.39 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.39 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.39 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.39 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.39 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.39 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.39 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.39 mark(isNat(X)) -> active(isNat(X)) 65.95/22.39 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.39 mark(tt) -> active(tt) 65.95/22.39 mark(0) -> active(0) 65.95/22.39 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.39 x(mark(X1), X2) -> x(X1, X2) 65.95/22.39 x(active(X1), X2) -> x(X1, X2) 65.95/22.39 x(X1, active(X2)) -> x(X1, X2) 65.95/22.39 U12(active(X)) -> U12(X) 65.95/22.39 U12(mark(X)) -> U12(X) 65.95/22.39 active(U12(tt)) -> mark(tt) 65.95/22.39 active(U21(tt)) -> mark(tt) 65.95/22.39 active(U32(tt)) -> mark(tt) 65.95/22.39 active(U61(tt)) -> mark(0) 65.95/22.39 active(isNat(0)) -> mark(tt) 65.95/22.39 U32(active(X)) -> U32(X) 65.95/22.39 U32(mark(X)) -> U32(X) 65.95/22.39 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.39 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.39 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.39 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.39 s(active(X)) -> s(X) 65.95/22.39 s(mark(X)) -> s(X) 65.95/22.39 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.39 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.39 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.39 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.39 U21(active(X)) -> U21(X) 65.95/22.39 U21(mark(X)) -> U21(X) 65.95/22.39 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.39 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.39 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.39 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.39 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.39 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.39 U61(active(X)) -> U61(X) 65.95/22.39 U61(mark(X)) -> U61(X) 65.95/22.39 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.39 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.39 65.95/22.39 The set Q consists of the following terms: 65.95/22.39 65.95/22.39 active(U11(tt, x0)) 65.95/22.39 active(U12(tt)) 65.95/22.39 active(U21(tt)) 65.95/22.39 active(U31(tt, x0)) 65.95/22.39 active(U32(tt)) 65.95/22.39 active(U41(tt, x0)) 65.95/22.39 active(U51(tt, x0, x1)) 65.95/22.39 active(U52(tt, x0, x1)) 65.95/22.39 active(U61(tt)) 65.95/22.39 active(U71(tt, x0, x1)) 65.95/22.39 active(U72(tt, x0, x1)) 65.95/22.39 active(isNat(0)) 65.95/22.39 active(isNat(plus(x0, x1))) 65.95/22.39 active(isNat(s(x0))) 65.95/22.39 active(isNat(x(x0, x1))) 65.95/22.39 active(plus(x0, 0)) 65.95/22.39 active(plus(x0, s(x1))) 65.95/22.39 active(x(x0, 0)) 65.95/22.39 active(x(x0, s(x1))) 65.95/22.39 mark(U11(x0, x1)) 65.95/22.39 mark(tt) 65.95/22.39 mark(U12(x0)) 65.95/22.39 mark(isNat(x0)) 65.95/22.39 mark(U21(x0)) 65.95/22.39 mark(U31(x0, x1)) 65.95/22.39 mark(U32(x0)) 65.95/22.39 mark(U41(x0, x1)) 65.95/22.39 mark(U51(x0, x1, x2)) 65.95/22.39 mark(U52(x0, x1, x2)) 65.95/22.39 mark(s(x0)) 65.95/22.39 mark(plus(x0, x1)) 65.95/22.39 mark(U61(x0)) 65.95/22.39 mark(0) 65.95/22.39 mark(U71(x0, x1, x2)) 65.95/22.39 mark(U72(x0, x1, x2)) 65.95/22.39 mark(x(x0, x1)) 65.95/22.39 U11(mark(x0), x1) 65.95/22.39 U11(x0, mark(x1)) 65.95/22.39 U11(active(x0), x1) 65.95/22.39 U11(x0, active(x1)) 65.95/22.39 U12(mark(x0)) 65.95/22.39 U12(active(x0)) 65.95/22.39 isNat(mark(x0)) 65.95/22.39 isNat(active(x0)) 65.95/22.39 U21(mark(x0)) 65.95/22.39 U21(active(x0)) 65.95/22.39 U31(mark(x0), x1) 65.95/22.39 U31(x0, mark(x1)) 65.95/22.39 U31(active(x0), x1) 65.95/22.39 U31(x0, active(x1)) 65.95/22.39 U32(mark(x0)) 65.95/22.39 U32(active(x0)) 65.95/22.39 U41(mark(x0), x1) 65.95/22.39 U41(x0, mark(x1)) 65.95/22.39 U41(active(x0), x1) 65.95/22.39 U41(x0, active(x1)) 65.95/22.39 U51(mark(x0), x1, x2) 65.95/22.39 U51(x0, mark(x1), x2) 65.95/22.39 U51(x0, x1, mark(x2)) 65.95/22.39 U51(active(x0), x1, x2) 65.95/22.39 U51(x0, active(x1), x2) 65.95/22.39 U51(x0, x1, active(x2)) 65.95/22.39 U52(mark(x0), x1, x2) 65.95/22.39 U52(x0, mark(x1), x2) 65.95/22.39 U52(x0, x1, mark(x2)) 65.95/22.39 U52(active(x0), x1, x2) 65.95/22.39 U52(x0, active(x1), x2) 65.95/22.39 U52(x0, x1, active(x2)) 65.95/22.39 s(mark(x0)) 65.95/22.39 s(active(x0)) 65.95/22.39 plus(mark(x0), x1) 65.95/22.39 plus(x0, mark(x1)) 65.95/22.39 plus(active(x0), x1) 65.95/22.39 plus(x0, active(x1)) 65.95/22.39 U61(mark(x0)) 65.95/22.39 U61(active(x0)) 65.95/22.39 U71(mark(x0), x1, x2) 65.95/22.39 U71(x0, mark(x1), x2) 65.95/22.39 U71(x0, x1, mark(x2)) 65.95/22.39 U71(active(x0), x1, x2) 65.95/22.39 U71(x0, active(x1), x2) 65.95/22.39 U71(x0, x1, active(x2)) 65.95/22.39 U72(mark(x0), x1, x2) 65.95/22.39 U72(x0, mark(x1), x2) 65.95/22.39 U72(x0, x1, mark(x2)) 65.95/22.39 U72(active(x0), x1, x2) 65.95/22.39 U72(x0, active(x1), x2) 65.95/22.39 U72(x0, x1, active(x2)) 65.95/22.39 x(mark(x0), x1) 65.95/22.39 x(x0, mark(x1)) 65.95/22.39 x(active(x0), x1) 65.95/22.39 x(x0, active(x1)) 65.95/22.39 65.95/22.39 We have to consider all minimal (P,Q,R)-chains. 65.95/22.39 ---------------------------------------- 65.95/22.39 65.95/22.39 (115) QDPOrderProof (EQUIVALENT) 65.95/22.39 We use the reduction pair processor [LPAR04,JAR06]. 65.95/22.39 65.95/22.39 65.95/22.39 The following pairs can be oriented strictly and are deleted. 65.95/22.39 65.95/22.39 MARK(U12(X)) -> ACTIVE(U12(mark(X))) 65.95/22.39 MARK(U21(X)) -> ACTIVE(U21(mark(X))) 65.95/22.39 MARK(U61(X)) -> ACTIVE(U61(mark(X))) 65.95/22.39 The remaining pairs can at least be oriented weakly. 65.95/22.39 Used ordering: Polynomial interpretation [POLO]: 65.95/22.39 65.95/22.39 POL(0) = 0 65.95/22.39 POL(ACTIVE(x_1)) = x_1 65.95/22.39 POL(MARK(x_1)) = 1 65.95/22.39 POL(U11(x_1, x_2)) = 1 65.95/22.39 POL(U12(x_1)) = 0 65.95/22.39 POL(U21(x_1)) = 0 65.95/22.39 POL(U31(x_1, x_2)) = 1 65.95/22.39 POL(U32(x_1)) = 0 65.95/22.39 POL(U41(x_1, x_2)) = 1 65.95/22.39 POL(U51(x_1, x_2, x_3)) = 1 65.95/22.39 POL(U52(x_1, x_2, x_3)) = 1 65.95/22.39 POL(U61(x_1)) = 0 65.95/22.39 POL(U71(x_1, x_2, x_3)) = 1 65.95/22.39 POL(U72(x_1, x_2, x_3)) = 1 65.95/22.39 POL(active(x_1)) = 0 65.95/22.39 POL(isNat(x_1)) = 1 65.95/22.39 POL(mark(x_1)) = 0 65.95/22.39 POL(plus(x_1, x_2)) = 1 65.95/22.39 POL(s(x_1)) = 0 65.95/22.39 POL(tt) = 0 65.95/22.39 POL(x(x_1, x_2)) = 1 65.95/22.39 65.95/22.39 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 65.95/22.39 65.95/22.39 U12(active(X)) -> U12(X) 65.95/22.39 U12(mark(X)) -> U12(X) 65.95/22.39 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.39 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.39 U21(active(X)) -> U21(X) 65.95/22.39 U21(mark(X)) -> U21(X) 65.95/22.39 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.39 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.39 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.39 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.39 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.39 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.39 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.39 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.39 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.39 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.39 U61(active(X)) -> U61(X) 65.95/22.39 U61(mark(X)) -> U61(X) 65.95/22.39 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.39 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.39 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.39 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.39 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.39 x(mark(X1), X2) -> x(X1, X2) 65.95/22.39 x(active(X1), X2) -> x(X1, X2) 65.95/22.39 x(X1, active(X2)) -> x(X1, X2) 65.95/22.39 65.95/22.39 65.95/22.39 ---------------------------------------- 65.95/22.39 65.95/22.39 (116) 65.95/22.39 Obligation: 65.95/22.39 Q DP problem: 65.95/22.39 The TRS P consists of the following rules: 65.95/22.39 65.95/22.39 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.95/22.39 MARK(U12(X)) -> MARK(X) 65.95/22.39 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.95/22.39 ACTIVE(U31(tt, V2)) -> MARK(U32(isNat(V2))) 65.95/22.39 ACTIVE(U41(tt, N)) -> MARK(N) 65.95/22.39 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.39 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.39 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.39 ACTIVE(U51(tt, M, N)) -> MARK(U52(isNat(N), M, N)) 65.95/22.39 MARK(U52(X1, X2, X3)) -> ACTIVE(U52(mark(X1), X2, X3)) 65.95/22.39 ACTIVE(U52(tt, M, N)) -> MARK(s(plus(N, M))) 65.95/22.39 ACTIVE(U71(tt, M, N)) -> MARK(U72(isNat(N), M, N)) 65.95/22.39 MARK(U72(X1, X2, X3)) -> ACTIVE(U72(mark(X1), X2, X3)) 65.95/22.39 ACTIVE(U72(tt, M, N)) -> MARK(plus(x(N, M), N)) 65.95/22.39 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 65.95/22.39 ACTIVE(plus(N, 0)) -> MARK(U41(isNat(N), N)) 65.95/22.39 MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) 65.95/22.39 ACTIVE(plus(N, s(M))) -> MARK(U51(isNat(M), M, N)) 65.95/22.39 MARK(U51(X1, X2, X3)) -> ACTIVE(U51(mark(X1), X2, X3)) 65.95/22.39 ACTIVE(x(N, 0)) -> MARK(U61(isNat(N))) 65.95/22.39 ACTIVE(x(N, s(M))) -> MARK(U71(isNat(M), M, N)) 65.95/22.39 MARK(U71(X1, X2, X3)) -> ACTIVE(U71(mark(X1), X2, X3)) 65.95/22.39 MARK(U71(X1, X2, X3)) -> MARK(X1) 65.95/22.39 MARK(U21(X)) -> MARK(X) 65.95/22.39 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 65.95/22.39 MARK(U31(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(U32(X)) -> MARK(X) 65.95/22.39 MARK(U41(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(U51(X1, X2, X3)) -> MARK(X1) 65.95/22.39 MARK(U52(X1, X2, X3)) -> MARK(X1) 65.95/22.39 MARK(s(X)) -> MARK(X) 65.95/22.39 MARK(plus(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(plus(X1, X2)) -> MARK(X2) 65.95/22.39 MARK(U61(X)) -> MARK(X) 65.95/22.39 MARK(U72(X1, X2, X3)) -> MARK(X1) 65.95/22.39 MARK(x(X1, X2)) -> ACTIVE(x(mark(X1), mark(X2))) 65.95/22.39 MARK(x(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(x(X1, X2)) -> MARK(X2) 65.95/22.39 ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNat(V1), V2)) 65.95/22.39 65.95/22.39 The TRS R consists of the following rules: 65.95/22.39 65.95/22.39 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.39 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.39 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.39 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.39 active(U41(tt, N)) -> mark(N) 65.95/22.39 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.39 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.39 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.39 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.39 mark(s(X)) -> active(s(mark(X))) 65.95/22.39 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.39 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.39 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.39 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.39 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.39 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.39 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.39 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.39 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.39 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.39 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.39 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.39 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.39 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.39 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.39 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.39 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.39 mark(isNat(X)) -> active(isNat(X)) 65.95/22.39 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.39 mark(tt) -> active(tt) 65.95/22.39 mark(0) -> active(0) 65.95/22.39 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.39 x(mark(X1), X2) -> x(X1, X2) 65.95/22.39 x(active(X1), X2) -> x(X1, X2) 65.95/22.39 x(X1, active(X2)) -> x(X1, X2) 65.95/22.39 U12(active(X)) -> U12(X) 65.95/22.39 U12(mark(X)) -> U12(X) 65.95/22.39 active(U12(tt)) -> mark(tt) 65.95/22.39 active(U21(tt)) -> mark(tt) 65.95/22.39 active(U32(tt)) -> mark(tt) 65.95/22.39 active(U61(tt)) -> mark(0) 65.95/22.39 active(isNat(0)) -> mark(tt) 65.95/22.39 U32(active(X)) -> U32(X) 65.95/22.39 U32(mark(X)) -> U32(X) 65.95/22.39 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.39 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.39 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.39 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.39 s(active(X)) -> s(X) 65.95/22.39 s(mark(X)) -> s(X) 65.95/22.39 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.39 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.39 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.39 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.39 U21(active(X)) -> U21(X) 65.95/22.39 U21(mark(X)) -> U21(X) 65.95/22.39 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.39 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.39 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.39 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.39 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.39 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.39 U61(active(X)) -> U61(X) 65.95/22.39 U61(mark(X)) -> U61(X) 65.95/22.39 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.39 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.39 65.95/22.39 The set Q consists of the following terms: 65.95/22.39 65.95/22.39 active(U11(tt, x0)) 65.95/22.39 active(U12(tt)) 65.95/22.39 active(U21(tt)) 65.95/22.39 active(U31(tt, x0)) 65.95/22.39 active(U32(tt)) 65.95/22.39 active(U41(tt, x0)) 65.95/22.39 active(U51(tt, x0, x1)) 65.95/22.39 active(U52(tt, x0, x1)) 65.95/22.39 active(U61(tt)) 65.95/22.39 active(U71(tt, x0, x1)) 65.95/22.39 active(U72(tt, x0, x1)) 65.95/22.39 active(isNat(0)) 65.95/22.39 active(isNat(plus(x0, x1))) 65.95/22.39 active(isNat(s(x0))) 65.95/22.39 active(isNat(x(x0, x1))) 65.95/22.39 active(plus(x0, 0)) 65.95/22.39 active(plus(x0, s(x1))) 65.95/22.39 active(x(x0, 0)) 65.95/22.39 active(x(x0, s(x1))) 65.95/22.39 mark(U11(x0, x1)) 65.95/22.39 mark(tt) 65.95/22.39 mark(U12(x0)) 65.95/22.39 mark(isNat(x0)) 65.95/22.39 mark(U21(x0)) 65.95/22.39 mark(U31(x0, x1)) 65.95/22.39 mark(U32(x0)) 65.95/22.39 mark(U41(x0, x1)) 65.95/22.39 mark(U51(x0, x1, x2)) 65.95/22.39 mark(U52(x0, x1, x2)) 65.95/22.39 mark(s(x0)) 65.95/22.39 mark(plus(x0, x1)) 65.95/22.39 mark(U61(x0)) 65.95/22.39 mark(0) 65.95/22.39 mark(U71(x0, x1, x2)) 65.95/22.39 mark(U72(x0, x1, x2)) 65.95/22.39 mark(x(x0, x1)) 65.95/22.39 U11(mark(x0), x1) 65.95/22.39 U11(x0, mark(x1)) 65.95/22.39 U11(active(x0), x1) 65.95/22.39 U11(x0, active(x1)) 65.95/22.39 U12(mark(x0)) 65.95/22.39 U12(active(x0)) 65.95/22.39 isNat(mark(x0)) 65.95/22.39 isNat(active(x0)) 65.95/22.39 U21(mark(x0)) 65.95/22.39 U21(active(x0)) 65.95/22.39 U31(mark(x0), x1) 65.95/22.39 U31(x0, mark(x1)) 65.95/22.39 U31(active(x0), x1) 65.95/22.39 U31(x0, active(x1)) 65.95/22.39 U32(mark(x0)) 65.95/22.39 U32(active(x0)) 65.95/22.39 U41(mark(x0), x1) 65.95/22.39 U41(x0, mark(x1)) 65.95/22.39 U41(active(x0), x1) 65.95/22.39 U41(x0, active(x1)) 65.95/22.39 U51(mark(x0), x1, x2) 65.95/22.39 U51(x0, mark(x1), x2) 65.95/22.39 U51(x0, x1, mark(x2)) 65.95/22.39 U51(active(x0), x1, x2) 65.95/22.39 U51(x0, active(x1), x2) 65.95/22.39 U51(x0, x1, active(x2)) 65.95/22.39 U52(mark(x0), x1, x2) 65.95/22.39 U52(x0, mark(x1), x2) 65.95/22.39 U52(x0, x1, mark(x2)) 65.95/22.39 U52(active(x0), x1, x2) 65.95/22.39 U52(x0, active(x1), x2) 65.95/22.39 U52(x0, x1, active(x2)) 65.95/22.39 s(mark(x0)) 65.95/22.39 s(active(x0)) 65.95/22.39 plus(mark(x0), x1) 65.95/22.39 plus(x0, mark(x1)) 65.95/22.39 plus(active(x0), x1) 65.95/22.39 plus(x0, active(x1)) 65.95/22.39 U61(mark(x0)) 65.95/22.39 U61(active(x0)) 65.95/22.39 U71(mark(x0), x1, x2) 65.95/22.39 U71(x0, mark(x1), x2) 65.95/22.39 U71(x0, x1, mark(x2)) 65.95/22.39 U71(active(x0), x1, x2) 65.95/22.39 U71(x0, active(x1), x2) 65.95/22.39 U71(x0, x1, active(x2)) 65.95/22.39 U72(mark(x0), x1, x2) 65.95/22.39 U72(x0, mark(x1), x2) 65.95/22.39 U72(x0, x1, mark(x2)) 65.95/22.39 U72(active(x0), x1, x2) 65.95/22.39 U72(x0, active(x1), x2) 65.95/22.39 U72(x0, x1, active(x2)) 65.95/22.39 x(mark(x0), x1) 65.95/22.39 x(x0, mark(x1)) 65.95/22.39 x(active(x0), x1) 65.95/22.39 x(x0, active(x1)) 65.95/22.39 65.95/22.39 We have to consider all minimal (P,Q,R)-chains. 65.95/22.39 ---------------------------------------- 65.95/22.39 65.95/22.39 (117) QDPOrderProof (EQUIVALENT) 65.95/22.39 We use the reduction pair processor [LPAR04,JAR06]. 65.95/22.39 65.95/22.39 65.95/22.39 The following pairs can be oriented strictly and are deleted. 65.95/22.39 65.95/22.39 ACTIVE(U41(tt, N)) -> MARK(N) 65.95/22.39 ACTIVE(U52(tt, M, N)) -> MARK(s(plus(N, M))) 65.95/22.39 ACTIVE(U72(tt, M, N)) -> MARK(plus(x(N, M), N)) 65.95/22.39 ACTIVE(plus(N, s(M))) -> MARK(U51(isNat(M), M, N)) 65.95/22.39 ACTIVE(x(N, 0)) -> MARK(U61(isNat(N))) 65.95/22.39 ACTIVE(x(N, s(M))) -> MARK(U71(isNat(M), M, N)) 65.95/22.39 MARK(U71(X1, X2, X3)) -> MARK(X1) 65.95/22.39 MARK(U41(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(U51(X1, X2, X3)) -> MARK(X1) 65.95/22.39 MARK(U52(X1, X2, X3)) -> MARK(X1) 65.95/22.39 MARK(s(X)) -> MARK(X) 65.95/22.39 MARK(plus(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(plus(X1, X2)) -> MARK(X2) 65.95/22.39 MARK(U72(X1, X2, X3)) -> MARK(X1) 65.95/22.39 MARK(x(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(x(X1, X2)) -> MARK(X2) 65.95/22.39 The remaining pairs can at least be oriented weakly. 65.95/22.39 Used ordering: Combined order from the following AFS and order. 65.95/22.39 ACTIVE(x1) = ACTIVE(x1) 65.95/22.39 65.95/22.39 U11(x1, x2) = x1 65.95/22.39 65.95/22.39 tt = tt 65.95/22.39 65.95/22.39 MARK(x1) = MARK(x1) 65.95/22.39 65.95/22.39 U12(x1) = x1 65.95/22.39 65.95/22.39 isNat(x1) = isNat 65.95/22.39 65.95/22.39 mark(x1) = x1 65.95/22.39 65.95/22.39 U31(x1, x2) = x1 65.95/22.39 65.95/22.39 U32(x1) = x1 65.95/22.39 65.95/22.39 U41(x1, x2) = U41(x1, x2) 65.95/22.39 65.95/22.39 plus(x1, x2) = plus(x1, x2) 65.95/22.39 65.95/22.39 s(x1) = s(x1) 65.95/22.39 65.95/22.39 U21(x1) = x1 65.95/22.39 65.95/22.39 U51(x1, x2, x3) = U51(x1, x2, x3) 65.95/22.39 65.95/22.39 U52(x1, x2, x3) = U52(x1, x2, x3) 65.95/22.39 65.95/22.39 U71(x1, x2, x3) = U71(x1, x2, x3) 65.95/22.39 65.95/22.39 U72(x1, x2, x3) = U72(x1, x2, x3) 65.95/22.39 65.95/22.39 x(x1, x2) = x(x1, x2) 65.95/22.39 65.95/22.39 0 = 0 65.95/22.39 65.95/22.39 U61(x1) = x1 65.95/22.39 65.95/22.39 active(x1) = x1 65.95/22.39 65.95/22.39 65.95/22.39 Recursive path order with status [RPO]. 65.95/22.39 Quasi-Precedence: [U71_3, U72_3, x_2] > [U41_2, plus_2, U51_3, U52_3] > [ACTIVE_1, MARK_1] > [tt, isNat, 0] > s_1 65.95/22.39 65.95/22.39 Status: ACTIVE_1: multiset status 65.95/22.39 tt: multiset status 65.95/22.39 MARK_1: multiset status 65.95/22.39 isNat: multiset status 65.95/22.39 U41_2: [1,2] 65.95/22.39 plus_2: [2,1] 65.95/22.39 s_1: [1] 65.95/22.39 U51_3: [2,3,1] 65.95/22.39 U52_3: [2,3,1] 65.95/22.39 U71_3: [2,3,1] 65.95/22.39 U72_3: [2,3,1] 65.95/22.39 x_2: [2,1] 65.95/22.39 0: multiset status 65.95/22.39 65.95/22.39 65.95/22.39 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 65.95/22.39 65.95/22.39 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.39 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.39 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.39 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.39 active(U41(tt, N)) -> mark(N) 65.95/22.39 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.39 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.39 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.39 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.39 mark(s(X)) -> active(s(mark(X))) 65.95/22.39 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.39 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.39 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.39 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.39 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.39 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.39 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.39 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.39 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.39 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.39 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.39 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.39 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.39 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.39 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.39 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.39 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.39 mark(isNat(X)) -> active(isNat(X)) 65.95/22.39 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.39 mark(tt) -> active(tt) 65.95/22.39 mark(0) -> active(0) 65.95/22.39 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.39 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.39 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.39 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.39 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.39 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.39 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.39 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.39 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.39 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.39 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.39 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.39 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.39 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.39 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.39 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.39 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.39 x(mark(X1), X2) -> x(X1, X2) 65.95/22.39 x(active(X1), X2) -> x(X1, X2) 65.95/22.39 x(X1, active(X2)) -> x(X1, X2) 65.95/22.39 U12(active(X)) -> U12(X) 65.95/22.39 U12(mark(X)) -> U12(X) 65.95/22.39 active(U12(tt)) -> mark(tt) 65.95/22.39 active(U21(tt)) -> mark(tt) 65.95/22.39 active(U32(tt)) -> mark(tt) 65.95/22.39 active(U61(tt)) -> mark(0) 65.95/22.39 active(isNat(0)) -> mark(tt) 65.95/22.39 U32(active(X)) -> U32(X) 65.95/22.39 U32(mark(X)) -> U32(X) 65.95/22.39 s(active(X)) -> s(X) 65.95/22.39 s(mark(X)) -> s(X) 65.95/22.39 U21(active(X)) -> U21(X) 65.95/22.39 U21(mark(X)) -> U21(X) 65.95/22.39 U61(active(X)) -> U61(X) 65.95/22.39 U61(mark(X)) -> U61(X) 65.95/22.39 65.95/22.39 65.95/22.39 ---------------------------------------- 65.95/22.39 65.95/22.39 (118) 65.95/22.39 Obligation: 65.95/22.39 Q DP problem: 65.95/22.39 The TRS P consists of the following rules: 65.95/22.39 65.95/22.39 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.95/22.39 MARK(U12(X)) -> MARK(X) 65.95/22.39 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.95/22.39 ACTIVE(U31(tt, V2)) -> MARK(U32(isNat(V2))) 65.95/22.39 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.39 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.39 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.39 ACTIVE(U51(tt, M, N)) -> MARK(U52(isNat(N), M, N)) 65.95/22.39 MARK(U52(X1, X2, X3)) -> ACTIVE(U52(mark(X1), X2, X3)) 65.95/22.39 ACTIVE(U71(tt, M, N)) -> MARK(U72(isNat(N), M, N)) 65.95/22.39 MARK(U72(X1, X2, X3)) -> ACTIVE(U72(mark(X1), X2, X3)) 65.95/22.39 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 65.95/22.39 ACTIVE(plus(N, 0)) -> MARK(U41(isNat(N), N)) 65.95/22.39 MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) 65.95/22.39 MARK(U51(X1, X2, X3)) -> ACTIVE(U51(mark(X1), X2, X3)) 65.95/22.39 MARK(U71(X1, X2, X3)) -> ACTIVE(U71(mark(X1), X2, X3)) 65.95/22.39 MARK(U21(X)) -> MARK(X) 65.95/22.39 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 65.95/22.39 MARK(U31(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(U32(X)) -> MARK(X) 65.95/22.39 MARK(U61(X)) -> MARK(X) 65.95/22.39 MARK(x(X1, X2)) -> ACTIVE(x(mark(X1), mark(X2))) 65.95/22.39 ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNat(V1), V2)) 65.95/22.39 65.95/22.39 The TRS R consists of the following rules: 65.95/22.39 65.95/22.39 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.39 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.39 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.39 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.39 active(U41(tt, N)) -> mark(N) 65.95/22.39 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.39 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.39 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.39 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.39 mark(s(X)) -> active(s(mark(X))) 65.95/22.39 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.39 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.39 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.39 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.39 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.39 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.39 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.39 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.39 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.39 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.39 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.39 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.39 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.39 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.39 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.39 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.39 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.39 mark(isNat(X)) -> active(isNat(X)) 65.95/22.39 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.39 mark(tt) -> active(tt) 65.95/22.39 mark(0) -> active(0) 65.95/22.39 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.39 x(mark(X1), X2) -> x(X1, X2) 65.95/22.39 x(active(X1), X2) -> x(X1, X2) 65.95/22.39 x(X1, active(X2)) -> x(X1, X2) 65.95/22.39 U12(active(X)) -> U12(X) 65.95/22.39 U12(mark(X)) -> U12(X) 65.95/22.39 active(U12(tt)) -> mark(tt) 65.95/22.39 active(U21(tt)) -> mark(tt) 65.95/22.39 active(U32(tt)) -> mark(tt) 65.95/22.39 active(U61(tt)) -> mark(0) 65.95/22.39 active(isNat(0)) -> mark(tt) 65.95/22.39 U32(active(X)) -> U32(X) 65.95/22.39 U32(mark(X)) -> U32(X) 65.95/22.39 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.39 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.39 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.39 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.39 s(active(X)) -> s(X) 65.95/22.39 s(mark(X)) -> s(X) 65.95/22.39 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.39 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.39 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.39 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.39 U21(active(X)) -> U21(X) 65.95/22.39 U21(mark(X)) -> U21(X) 65.95/22.39 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.39 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.39 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.39 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.39 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.39 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.39 U61(active(X)) -> U61(X) 65.95/22.39 U61(mark(X)) -> U61(X) 65.95/22.39 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.39 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.39 65.95/22.39 The set Q consists of the following terms: 65.95/22.39 65.95/22.39 active(U11(tt, x0)) 65.95/22.39 active(U12(tt)) 65.95/22.39 active(U21(tt)) 65.95/22.39 active(U31(tt, x0)) 65.95/22.39 active(U32(tt)) 65.95/22.39 active(U41(tt, x0)) 65.95/22.39 active(U51(tt, x0, x1)) 65.95/22.39 active(U52(tt, x0, x1)) 65.95/22.39 active(U61(tt)) 65.95/22.39 active(U71(tt, x0, x1)) 65.95/22.39 active(U72(tt, x0, x1)) 65.95/22.39 active(isNat(0)) 65.95/22.39 active(isNat(plus(x0, x1))) 65.95/22.39 active(isNat(s(x0))) 65.95/22.39 active(isNat(x(x0, x1))) 65.95/22.39 active(plus(x0, 0)) 65.95/22.39 active(plus(x0, s(x1))) 65.95/22.39 active(x(x0, 0)) 65.95/22.39 active(x(x0, s(x1))) 65.95/22.39 mark(U11(x0, x1)) 65.95/22.39 mark(tt) 65.95/22.39 mark(U12(x0)) 65.95/22.39 mark(isNat(x0)) 65.95/22.39 mark(U21(x0)) 65.95/22.39 mark(U31(x0, x1)) 65.95/22.39 mark(U32(x0)) 65.95/22.39 mark(U41(x0, x1)) 65.95/22.39 mark(U51(x0, x1, x2)) 65.95/22.39 mark(U52(x0, x1, x2)) 65.95/22.39 mark(s(x0)) 65.95/22.39 mark(plus(x0, x1)) 65.95/22.39 mark(U61(x0)) 65.95/22.39 mark(0) 65.95/22.39 mark(U71(x0, x1, x2)) 65.95/22.39 mark(U72(x0, x1, x2)) 65.95/22.39 mark(x(x0, x1)) 65.95/22.39 U11(mark(x0), x1) 65.95/22.39 U11(x0, mark(x1)) 65.95/22.39 U11(active(x0), x1) 65.95/22.39 U11(x0, active(x1)) 65.95/22.39 U12(mark(x0)) 65.95/22.39 U12(active(x0)) 65.95/22.39 isNat(mark(x0)) 65.95/22.39 isNat(active(x0)) 65.95/22.39 U21(mark(x0)) 65.95/22.39 U21(active(x0)) 65.95/22.39 U31(mark(x0), x1) 65.95/22.39 U31(x0, mark(x1)) 65.95/22.39 U31(active(x0), x1) 65.95/22.39 U31(x0, active(x1)) 65.95/22.39 U32(mark(x0)) 65.95/22.39 U32(active(x0)) 65.95/22.39 U41(mark(x0), x1) 65.95/22.39 U41(x0, mark(x1)) 65.95/22.39 U41(active(x0), x1) 65.95/22.39 U41(x0, active(x1)) 65.95/22.39 U51(mark(x0), x1, x2) 65.95/22.39 U51(x0, mark(x1), x2) 65.95/22.39 U51(x0, x1, mark(x2)) 65.95/22.39 U51(active(x0), x1, x2) 65.95/22.39 U51(x0, active(x1), x2) 65.95/22.39 U51(x0, x1, active(x2)) 65.95/22.39 U52(mark(x0), x1, x2) 65.95/22.39 U52(x0, mark(x1), x2) 65.95/22.39 U52(x0, x1, mark(x2)) 65.95/22.39 U52(active(x0), x1, x2) 65.95/22.39 U52(x0, active(x1), x2) 65.95/22.39 U52(x0, x1, active(x2)) 65.95/22.39 s(mark(x0)) 65.95/22.39 s(active(x0)) 65.95/22.39 plus(mark(x0), x1) 65.95/22.39 plus(x0, mark(x1)) 65.95/22.39 plus(active(x0), x1) 65.95/22.39 plus(x0, active(x1)) 65.95/22.39 U61(mark(x0)) 65.95/22.39 U61(active(x0)) 65.95/22.39 U71(mark(x0), x1, x2) 65.95/22.39 U71(x0, mark(x1), x2) 65.95/22.39 U71(x0, x1, mark(x2)) 65.95/22.39 U71(active(x0), x1, x2) 65.95/22.39 U71(x0, active(x1), x2) 65.95/22.39 U71(x0, x1, active(x2)) 65.95/22.39 U72(mark(x0), x1, x2) 65.95/22.39 U72(x0, mark(x1), x2) 65.95/22.39 U72(x0, x1, mark(x2)) 65.95/22.39 U72(active(x0), x1, x2) 65.95/22.39 U72(x0, active(x1), x2) 65.95/22.39 U72(x0, x1, active(x2)) 65.95/22.39 x(mark(x0), x1) 65.95/22.39 x(x0, mark(x1)) 65.95/22.39 x(active(x0), x1) 65.95/22.39 x(x0, active(x1)) 65.95/22.39 65.95/22.39 We have to consider all minimal (P,Q,R)-chains. 65.95/22.39 ---------------------------------------- 65.95/22.39 65.95/22.39 (119) QDPQMonotonicMRRProof (EQUIVALENT) 65.95/22.39 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. 65.95/22.39 65.95/22.39 Strictly oriented dependency pairs: 65.95/22.39 65.95/22.39 MARK(U72(X1, X2, X3)) -> ACTIVE(U72(mark(X1), X2, X3)) 65.95/22.39 MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) 65.95/22.39 MARK(x(X1, X2)) -> ACTIVE(x(mark(X1), mark(X2))) 65.95/22.39 65.95/22.39 65.95/22.39 Used ordering: Polynomial interpretation [POLO]: 65.95/22.39 65.95/22.39 POL(0) = 0 65.95/22.39 POL(ACTIVE(x_1)) = x_1 65.95/22.39 POL(MARK(x_1)) = 1 65.95/22.39 POL(U11(x_1, x_2)) = 1 65.95/22.39 POL(U12(x_1)) = 0 65.95/22.39 POL(U21(x_1)) = 0 65.95/22.39 POL(U31(x_1, x_2)) = 1 65.95/22.39 POL(U32(x_1)) = 0 65.95/22.39 POL(U41(x_1, x_2)) = 0 65.95/22.39 POL(U51(x_1, x_2, x_3)) = 1 65.95/22.39 POL(U52(x_1, x_2, x_3)) = 1 65.95/22.39 POL(U61(x_1)) = 0 65.95/22.39 POL(U71(x_1, x_2, x_3)) = 1 65.95/22.39 POL(U72(x_1, x_2, x_3)) = 0 65.95/22.39 POL(active(x_1)) = 0 65.95/22.39 POL(isNat(x_1)) = 1 65.95/22.39 POL(mark(x_1)) = 0 65.95/22.39 POL(plus(x_1, x_2)) = 1 65.95/22.39 POL(s(x_1)) = 0 65.95/22.39 POL(tt) = 0 65.95/22.39 POL(x(x_1, x_2)) = 0 65.95/22.39 65.95/22.39 65.95/22.39 ---------------------------------------- 65.95/22.39 65.95/22.39 (120) 65.95/22.39 Obligation: 65.95/22.39 Q DP problem: 65.95/22.39 The TRS P consists of the following rules: 65.95/22.39 65.95/22.39 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.95/22.39 MARK(U12(X)) -> MARK(X) 65.95/22.39 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.95/22.39 ACTIVE(U31(tt, V2)) -> MARK(U32(isNat(V2))) 65.95/22.39 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.39 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.39 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.39 ACTIVE(U51(tt, M, N)) -> MARK(U52(isNat(N), M, N)) 65.95/22.39 MARK(U52(X1, X2, X3)) -> ACTIVE(U52(mark(X1), X2, X3)) 65.95/22.39 ACTIVE(U71(tt, M, N)) -> MARK(U72(isNat(N), M, N)) 65.95/22.39 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 65.95/22.39 ACTIVE(plus(N, 0)) -> MARK(U41(isNat(N), N)) 65.95/22.39 MARK(U51(X1, X2, X3)) -> ACTIVE(U51(mark(X1), X2, X3)) 65.95/22.39 MARK(U71(X1, X2, X3)) -> ACTIVE(U71(mark(X1), X2, X3)) 65.95/22.39 MARK(U21(X)) -> MARK(X) 65.95/22.39 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 65.95/22.39 MARK(U31(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(U32(X)) -> MARK(X) 65.95/22.39 MARK(U61(X)) -> MARK(X) 65.95/22.39 ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNat(V1), V2)) 65.95/22.39 65.95/22.39 The TRS R consists of the following rules: 65.95/22.39 65.95/22.39 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.39 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.39 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.39 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.39 active(U41(tt, N)) -> mark(N) 65.95/22.39 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.39 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.39 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.39 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.39 mark(s(X)) -> active(s(mark(X))) 65.95/22.39 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.39 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.39 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.39 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.39 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.39 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.39 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.39 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.39 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.39 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.39 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.39 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.39 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.39 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.39 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.39 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.39 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.39 mark(isNat(X)) -> active(isNat(X)) 65.95/22.39 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.39 mark(tt) -> active(tt) 65.95/22.39 mark(0) -> active(0) 65.95/22.39 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.39 x(mark(X1), X2) -> x(X1, X2) 65.95/22.39 x(active(X1), X2) -> x(X1, X2) 65.95/22.39 x(X1, active(X2)) -> x(X1, X2) 65.95/22.39 U12(active(X)) -> U12(X) 65.95/22.39 U12(mark(X)) -> U12(X) 65.95/22.39 active(U12(tt)) -> mark(tt) 65.95/22.39 active(U21(tt)) -> mark(tt) 65.95/22.39 active(U32(tt)) -> mark(tt) 65.95/22.39 active(U61(tt)) -> mark(0) 65.95/22.39 active(isNat(0)) -> mark(tt) 65.95/22.39 U32(active(X)) -> U32(X) 65.95/22.39 U32(mark(X)) -> U32(X) 65.95/22.39 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.39 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.39 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.39 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.39 s(active(X)) -> s(X) 65.95/22.39 s(mark(X)) -> s(X) 65.95/22.39 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.39 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.39 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.39 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.39 U21(active(X)) -> U21(X) 65.95/22.39 U21(mark(X)) -> U21(X) 65.95/22.39 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.39 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.39 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.39 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.39 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.39 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.39 U61(active(X)) -> U61(X) 65.95/22.39 U61(mark(X)) -> U61(X) 65.95/22.39 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.39 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.39 65.95/22.39 The set Q consists of the following terms: 65.95/22.39 65.95/22.39 active(U11(tt, x0)) 65.95/22.39 active(U12(tt)) 65.95/22.39 active(U21(tt)) 65.95/22.39 active(U31(tt, x0)) 65.95/22.39 active(U32(tt)) 65.95/22.39 active(U41(tt, x0)) 65.95/22.39 active(U51(tt, x0, x1)) 65.95/22.39 active(U52(tt, x0, x1)) 65.95/22.39 active(U61(tt)) 65.95/22.39 active(U71(tt, x0, x1)) 65.95/22.39 active(U72(tt, x0, x1)) 65.95/22.39 active(isNat(0)) 65.95/22.39 active(isNat(plus(x0, x1))) 65.95/22.39 active(isNat(s(x0))) 65.95/22.39 active(isNat(x(x0, x1))) 65.95/22.39 active(plus(x0, 0)) 65.95/22.39 active(plus(x0, s(x1))) 65.95/22.39 active(x(x0, 0)) 65.95/22.39 active(x(x0, s(x1))) 65.95/22.39 mark(U11(x0, x1)) 65.95/22.39 mark(tt) 65.95/22.39 mark(U12(x0)) 65.95/22.39 mark(isNat(x0)) 65.95/22.39 mark(U21(x0)) 65.95/22.39 mark(U31(x0, x1)) 65.95/22.39 mark(U32(x0)) 65.95/22.39 mark(U41(x0, x1)) 65.95/22.39 mark(U51(x0, x1, x2)) 65.95/22.39 mark(U52(x0, x1, x2)) 65.95/22.39 mark(s(x0)) 65.95/22.39 mark(plus(x0, x1)) 65.95/22.39 mark(U61(x0)) 65.95/22.39 mark(0) 65.95/22.39 mark(U71(x0, x1, x2)) 65.95/22.39 mark(U72(x0, x1, x2)) 65.95/22.39 mark(x(x0, x1)) 65.95/22.39 U11(mark(x0), x1) 65.95/22.39 U11(x0, mark(x1)) 65.95/22.39 U11(active(x0), x1) 65.95/22.39 U11(x0, active(x1)) 65.95/22.39 U12(mark(x0)) 65.95/22.39 U12(active(x0)) 65.95/22.39 isNat(mark(x0)) 65.95/22.39 isNat(active(x0)) 65.95/22.39 U21(mark(x0)) 65.95/22.39 U21(active(x0)) 65.95/22.39 U31(mark(x0), x1) 65.95/22.39 U31(x0, mark(x1)) 65.95/22.39 U31(active(x0), x1) 65.95/22.39 U31(x0, active(x1)) 65.95/22.39 U32(mark(x0)) 65.95/22.39 U32(active(x0)) 65.95/22.39 U41(mark(x0), x1) 65.95/22.39 U41(x0, mark(x1)) 65.95/22.39 U41(active(x0), x1) 65.95/22.39 U41(x0, active(x1)) 65.95/22.39 U51(mark(x0), x1, x2) 65.95/22.39 U51(x0, mark(x1), x2) 65.95/22.39 U51(x0, x1, mark(x2)) 65.95/22.39 U51(active(x0), x1, x2) 65.95/22.39 U51(x0, active(x1), x2) 65.95/22.39 U51(x0, x1, active(x2)) 65.95/22.39 U52(mark(x0), x1, x2) 65.95/22.39 U52(x0, mark(x1), x2) 65.95/22.39 U52(x0, x1, mark(x2)) 65.95/22.39 U52(active(x0), x1, x2) 65.95/22.39 U52(x0, active(x1), x2) 65.95/22.39 U52(x0, x1, active(x2)) 65.95/22.39 s(mark(x0)) 65.95/22.39 s(active(x0)) 65.95/22.39 plus(mark(x0), x1) 65.95/22.39 plus(x0, mark(x1)) 65.95/22.39 plus(active(x0), x1) 65.95/22.39 plus(x0, active(x1)) 65.95/22.39 U61(mark(x0)) 65.95/22.39 U61(active(x0)) 65.95/22.39 U71(mark(x0), x1, x2) 65.95/22.39 U71(x0, mark(x1), x2) 65.95/22.39 U71(x0, x1, mark(x2)) 65.95/22.39 U71(active(x0), x1, x2) 65.95/22.39 U71(x0, active(x1), x2) 65.95/22.39 U71(x0, x1, active(x2)) 65.95/22.39 U72(mark(x0), x1, x2) 65.95/22.39 U72(x0, mark(x1), x2) 65.95/22.39 U72(x0, x1, mark(x2)) 65.95/22.39 U72(active(x0), x1, x2) 65.95/22.39 U72(x0, active(x1), x2) 65.95/22.39 U72(x0, x1, active(x2)) 65.95/22.39 x(mark(x0), x1) 65.95/22.39 x(x0, mark(x1)) 65.95/22.39 x(active(x0), x1) 65.95/22.39 x(x0, active(x1)) 65.95/22.39 65.95/22.39 We have to consider all minimal (P,Q,R)-chains. 65.95/22.39 ---------------------------------------- 65.95/22.39 65.95/22.39 (121) DependencyGraphProof (EQUIVALENT) 65.95/22.39 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 65.95/22.39 ---------------------------------------- 65.95/22.39 65.95/22.39 (122) 65.95/22.39 Obligation: 65.95/22.39 Q DP problem: 65.95/22.39 The TRS P consists of the following rules: 65.95/22.39 65.95/22.39 MARK(U12(X)) -> MARK(X) 65.95/22.39 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.95/22.39 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.95/22.39 ACTIVE(U31(tt, V2)) -> MARK(U32(isNat(V2))) 65.95/22.39 MARK(U32(X)) -> MARK(X) 65.95/22.39 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.39 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.39 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.39 MARK(U21(X)) -> MARK(X) 65.95/22.39 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 65.95/22.39 ACTIVE(U51(tt, M, N)) -> MARK(U52(isNat(N), M, N)) 65.95/22.39 MARK(U52(X1, X2, X3)) -> ACTIVE(U52(mark(X1), X2, X3)) 65.95/22.39 MARK(U31(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(U51(X1, X2, X3)) -> ACTIVE(U51(mark(X1), X2, X3)) 65.95/22.39 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 65.95/22.39 MARK(U61(X)) -> MARK(X) 65.95/22.39 MARK(U71(X1, X2, X3)) -> ACTIVE(U71(mark(X1), X2, X3)) 65.95/22.39 ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNat(V1), V2)) 65.95/22.39 65.95/22.39 The TRS R consists of the following rules: 65.95/22.39 65.95/22.39 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.39 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.39 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.39 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.39 active(U41(tt, N)) -> mark(N) 65.95/22.39 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.39 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.39 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.39 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.39 mark(s(X)) -> active(s(mark(X))) 65.95/22.39 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.39 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.39 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.39 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.39 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.39 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.39 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.39 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.39 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.39 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.39 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.39 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.39 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.39 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.39 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.39 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.39 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.39 mark(isNat(X)) -> active(isNat(X)) 65.95/22.39 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.39 mark(tt) -> active(tt) 65.95/22.39 mark(0) -> active(0) 65.95/22.39 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.39 x(mark(X1), X2) -> x(X1, X2) 65.95/22.39 x(active(X1), X2) -> x(X1, X2) 65.95/22.39 x(X1, active(X2)) -> x(X1, X2) 65.95/22.39 U12(active(X)) -> U12(X) 65.95/22.39 U12(mark(X)) -> U12(X) 65.95/22.39 active(U12(tt)) -> mark(tt) 65.95/22.39 active(U21(tt)) -> mark(tt) 65.95/22.39 active(U32(tt)) -> mark(tt) 65.95/22.39 active(U61(tt)) -> mark(0) 65.95/22.39 active(isNat(0)) -> mark(tt) 65.95/22.39 U32(active(X)) -> U32(X) 65.95/22.39 U32(mark(X)) -> U32(X) 65.95/22.39 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.39 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.39 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.39 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.39 s(active(X)) -> s(X) 65.95/22.39 s(mark(X)) -> s(X) 65.95/22.39 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.39 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.39 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.39 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.39 U21(active(X)) -> U21(X) 65.95/22.39 U21(mark(X)) -> U21(X) 65.95/22.39 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.39 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.39 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.39 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.39 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.39 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.39 U61(active(X)) -> U61(X) 65.95/22.39 U61(mark(X)) -> U61(X) 65.95/22.39 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.39 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.39 65.95/22.39 The set Q consists of the following terms: 65.95/22.39 65.95/22.39 active(U11(tt, x0)) 65.95/22.39 active(U12(tt)) 65.95/22.39 active(U21(tt)) 65.95/22.39 active(U31(tt, x0)) 65.95/22.39 active(U32(tt)) 65.95/22.39 active(U41(tt, x0)) 65.95/22.39 active(U51(tt, x0, x1)) 65.95/22.39 active(U52(tt, x0, x1)) 65.95/22.39 active(U61(tt)) 65.95/22.39 active(U71(tt, x0, x1)) 65.95/22.39 active(U72(tt, x0, x1)) 65.95/22.39 active(isNat(0)) 65.95/22.39 active(isNat(plus(x0, x1))) 65.95/22.39 active(isNat(s(x0))) 65.95/22.39 active(isNat(x(x0, x1))) 65.95/22.39 active(plus(x0, 0)) 65.95/22.39 active(plus(x0, s(x1))) 65.95/22.39 active(x(x0, 0)) 65.95/22.39 active(x(x0, s(x1))) 65.95/22.39 mark(U11(x0, x1)) 65.95/22.39 mark(tt) 65.95/22.39 mark(U12(x0)) 65.95/22.39 mark(isNat(x0)) 65.95/22.39 mark(U21(x0)) 65.95/22.39 mark(U31(x0, x1)) 65.95/22.39 mark(U32(x0)) 65.95/22.39 mark(U41(x0, x1)) 65.95/22.39 mark(U51(x0, x1, x2)) 65.95/22.39 mark(U52(x0, x1, x2)) 65.95/22.39 mark(s(x0)) 65.95/22.39 mark(plus(x0, x1)) 65.95/22.39 mark(U61(x0)) 65.95/22.39 mark(0) 65.95/22.39 mark(U71(x0, x1, x2)) 65.95/22.39 mark(U72(x0, x1, x2)) 65.95/22.39 mark(x(x0, x1)) 65.95/22.39 U11(mark(x0), x1) 65.95/22.39 U11(x0, mark(x1)) 65.95/22.39 U11(active(x0), x1) 65.95/22.39 U11(x0, active(x1)) 65.95/22.39 U12(mark(x0)) 65.95/22.39 U12(active(x0)) 65.95/22.39 isNat(mark(x0)) 65.95/22.39 isNat(active(x0)) 65.95/22.39 U21(mark(x0)) 65.95/22.39 U21(active(x0)) 65.95/22.39 U31(mark(x0), x1) 65.95/22.39 U31(x0, mark(x1)) 65.95/22.39 U31(active(x0), x1) 65.95/22.39 U31(x0, active(x1)) 65.95/22.39 U32(mark(x0)) 65.95/22.39 U32(active(x0)) 65.95/22.39 U41(mark(x0), x1) 65.95/22.39 U41(x0, mark(x1)) 65.95/22.39 U41(active(x0), x1) 65.95/22.39 U41(x0, active(x1)) 65.95/22.39 U51(mark(x0), x1, x2) 65.95/22.39 U51(x0, mark(x1), x2) 65.95/22.39 U51(x0, x1, mark(x2)) 65.95/22.39 U51(active(x0), x1, x2) 65.95/22.39 U51(x0, active(x1), x2) 65.95/22.39 U51(x0, x1, active(x2)) 65.95/22.39 U52(mark(x0), x1, x2) 65.95/22.39 U52(x0, mark(x1), x2) 65.95/22.39 U52(x0, x1, mark(x2)) 65.95/22.39 U52(active(x0), x1, x2) 65.95/22.39 U52(x0, active(x1), x2) 65.95/22.39 U52(x0, x1, active(x2)) 65.95/22.39 s(mark(x0)) 65.95/22.39 s(active(x0)) 65.95/22.39 plus(mark(x0), x1) 65.95/22.39 plus(x0, mark(x1)) 65.95/22.39 plus(active(x0), x1) 65.95/22.39 plus(x0, active(x1)) 65.95/22.39 U61(mark(x0)) 65.95/22.39 U61(active(x0)) 65.95/22.39 U71(mark(x0), x1, x2) 65.95/22.39 U71(x0, mark(x1), x2) 65.95/22.39 U71(x0, x1, mark(x2)) 65.95/22.39 U71(active(x0), x1, x2) 65.95/22.39 U71(x0, active(x1), x2) 65.95/22.39 U71(x0, x1, active(x2)) 65.95/22.39 U72(mark(x0), x1, x2) 65.95/22.39 U72(x0, mark(x1), x2) 65.95/22.39 U72(x0, x1, mark(x2)) 65.95/22.39 U72(active(x0), x1, x2) 65.95/22.39 U72(x0, active(x1), x2) 65.95/22.39 U72(x0, x1, active(x2)) 65.95/22.39 x(mark(x0), x1) 65.95/22.39 x(x0, mark(x1)) 65.95/22.39 x(active(x0), x1) 65.95/22.39 x(x0, active(x1)) 65.95/22.39 65.95/22.39 We have to consider all minimal (P,Q,R)-chains. 65.95/22.39 ---------------------------------------- 65.95/22.39 65.95/22.39 (123) QDPQMonotonicMRRProof (EQUIVALENT) 65.95/22.39 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. 65.95/22.39 65.95/22.39 Strictly oriented dependency pairs: 65.95/22.39 65.95/22.39 MARK(U52(X1, X2, X3)) -> ACTIVE(U52(mark(X1), X2, X3)) 65.95/22.39 MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) 65.95/22.39 MARK(U71(X1, X2, X3)) -> ACTIVE(U71(mark(X1), X2, X3)) 65.95/22.39 65.95/22.39 65.95/22.39 Used ordering: Polynomial interpretation [POLO]: 65.95/22.39 65.95/22.39 POL(0) = 0 65.95/22.39 POL(ACTIVE(x_1)) = 2*x_1 65.95/22.39 POL(MARK(x_1)) = 2 65.95/22.39 POL(U11(x_1, x_2)) = 1 65.95/22.39 POL(U12(x_1)) = 0 65.95/22.39 POL(U21(x_1)) = 0 65.95/22.39 POL(U31(x_1, x_2)) = 1 65.95/22.39 POL(U32(x_1)) = 0 65.95/22.39 POL(U41(x_1, x_2)) = 0 65.95/22.39 POL(U51(x_1, x_2, x_3)) = 1 65.95/22.39 POL(U52(x_1, x_2, x_3)) = 0 65.95/22.39 POL(U61(x_1)) = 0 65.95/22.39 POL(U71(x_1, x_2, x_3)) = 0 65.95/22.39 POL(U72(x_1, x_2, x_3)) = 0 65.95/22.39 POL(active(x_1)) = 0 65.95/22.39 POL(isNat(x_1)) = 1 65.95/22.39 POL(mark(x_1)) = 0 65.95/22.39 POL(plus(x_1, x_2)) = 0 65.95/22.39 POL(s(x_1)) = 0 65.95/22.39 POL(tt) = 0 65.95/22.39 POL(x(x_1, x_2)) = 0 65.95/22.39 65.95/22.39 65.95/22.39 ---------------------------------------- 65.95/22.39 65.95/22.39 (124) 65.95/22.39 Obligation: 65.95/22.39 Q DP problem: 65.95/22.39 The TRS P consists of the following rules: 65.95/22.39 65.95/22.39 MARK(U12(X)) -> MARK(X) 65.95/22.39 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.95/22.39 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.95/22.39 ACTIVE(U31(tt, V2)) -> MARK(U32(isNat(V2))) 65.95/22.39 MARK(U32(X)) -> MARK(X) 65.95/22.39 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.39 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.39 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.39 MARK(U21(X)) -> MARK(X) 65.95/22.39 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 65.95/22.39 ACTIVE(U51(tt, M, N)) -> MARK(U52(isNat(N), M, N)) 65.95/22.39 MARK(U31(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(U51(X1, X2, X3)) -> ACTIVE(U51(mark(X1), X2, X3)) 65.95/22.39 MARK(U61(X)) -> MARK(X) 65.95/22.39 ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNat(V1), V2)) 65.95/22.39 65.95/22.39 The TRS R consists of the following rules: 65.95/22.39 65.95/22.39 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.39 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.39 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.39 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.39 active(U41(tt, N)) -> mark(N) 65.95/22.39 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.39 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.39 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.39 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.39 mark(s(X)) -> active(s(mark(X))) 65.95/22.39 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.39 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.39 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.39 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.39 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.39 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.39 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.39 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.39 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.39 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.39 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.39 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.39 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.39 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.39 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.39 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.39 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.39 mark(isNat(X)) -> active(isNat(X)) 65.95/22.39 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.39 mark(tt) -> active(tt) 65.95/22.39 mark(0) -> active(0) 65.95/22.39 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.39 x(mark(X1), X2) -> x(X1, X2) 65.95/22.39 x(active(X1), X2) -> x(X1, X2) 65.95/22.39 x(X1, active(X2)) -> x(X1, X2) 65.95/22.39 U12(active(X)) -> U12(X) 65.95/22.39 U12(mark(X)) -> U12(X) 65.95/22.39 active(U12(tt)) -> mark(tt) 65.95/22.39 active(U21(tt)) -> mark(tt) 65.95/22.39 active(U32(tt)) -> mark(tt) 65.95/22.39 active(U61(tt)) -> mark(0) 65.95/22.39 active(isNat(0)) -> mark(tt) 65.95/22.39 U32(active(X)) -> U32(X) 65.95/22.39 U32(mark(X)) -> U32(X) 65.95/22.39 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.39 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.39 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.39 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.39 s(active(X)) -> s(X) 65.95/22.39 s(mark(X)) -> s(X) 65.95/22.39 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.39 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.39 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.39 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.39 U21(active(X)) -> U21(X) 65.95/22.39 U21(mark(X)) -> U21(X) 65.95/22.39 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.39 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.39 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.39 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.39 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.39 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.39 U61(active(X)) -> U61(X) 65.95/22.39 U61(mark(X)) -> U61(X) 65.95/22.39 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.39 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.39 65.95/22.39 The set Q consists of the following terms: 65.95/22.39 65.95/22.39 active(U11(tt, x0)) 65.95/22.39 active(U12(tt)) 65.95/22.39 active(U21(tt)) 65.95/22.39 active(U31(tt, x0)) 65.95/22.39 active(U32(tt)) 65.95/22.39 active(U41(tt, x0)) 65.95/22.39 active(U51(tt, x0, x1)) 65.95/22.39 active(U52(tt, x0, x1)) 65.95/22.39 active(U61(tt)) 65.95/22.39 active(U71(tt, x0, x1)) 65.95/22.39 active(U72(tt, x0, x1)) 65.95/22.39 active(isNat(0)) 65.95/22.39 active(isNat(plus(x0, x1))) 65.95/22.39 active(isNat(s(x0))) 65.95/22.39 active(isNat(x(x0, x1))) 65.95/22.39 active(plus(x0, 0)) 65.95/22.39 active(plus(x0, s(x1))) 65.95/22.39 active(x(x0, 0)) 65.95/22.39 active(x(x0, s(x1))) 65.95/22.39 mark(U11(x0, x1)) 65.95/22.39 mark(tt) 65.95/22.39 mark(U12(x0)) 65.95/22.39 mark(isNat(x0)) 65.95/22.39 mark(U21(x0)) 65.95/22.39 mark(U31(x0, x1)) 65.95/22.39 mark(U32(x0)) 65.95/22.39 mark(U41(x0, x1)) 65.95/22.39 mark(U51(x0, x1, x2)) 65.95/22.39 mark(U52(x0, x1, x2)) 65.95/22.39 mark(s(x0)) 65.95/22.39 mark(plus(x0, x1)) 65.95/22.39 mark(U61(x0)) 65.95/22.39 mark(0) 65.95/22.39 mark(U71(x0, x1, x2)) 65.95/22.39 mark(U72(x0, x1, x2)) 65.95/22.39 mark(x(x0, x1)) 65.95/22.39 U11(mark(x0), x1) 65.95/22.39 U11(x0, mark(x1)) 65.95/22.39 U11(active(x0), x1) 65.95/22.39 U11(x0, active(x1)) 65.95/22.39 U12(mark(x0)) 65.95/22.39 U12(active(x0)) 65.95/22.39 isNat(mark(x0)) 65.95/22.39 isNat(active(x0)) 65.95/22.39 U21(mark(x0)) 65.95/22.39 U21(active(x0)) 65.95/22.39 U31(mark(x0), x1) 65.95/22.39 U31(x0, mark(x1)) 65.95/22.39 U31(active(x0), x1) 65.95/22.39 U31(x0, active(x1)) 65.95/22.39 U32(mark(x0)) 65.95/22.39 U32(active(x0)) 65.95/22.39 U41(mark(x0), x1) 65.95/22.39 U41(x0, mark(x1)) 65.95/22.39 U41(active(x0), x1) 65.95/22.39 U41(x0, active(x1)) 65.95/22.39 U51(mark(x0), x1, x2) 65.95/22.39 U51(x0, mark(x1), x2) 65.95/22.39 U51(x0, x1, mark(x2)) 65.95/22.39 U51(active(x0), x1, x2) 65.95/22.39 U51(x0, active(x1), x2) 65.95/22.39 U51(x0, x1, active(x2)) 65.95/22.39 U52(mark(x0), x1, x2) 65.95/22.39 U52(x0, mark(x1), x2) 65.95/22.39 U52(x0, x1, mark(x2)) 65.95/22.39 U52(active(x0), x1, x2) 65.95/22.39 U52(x0, active(x1), x2) 65.95/22.39 U52(x0, x1, active(x2)) 65.95/22.39 s(mark(x0)) 65.95/22.39 s(active(x0)) 65.95/22.39 plus(mark(x0), x1) 65.95/22.39 plus(x0, mark(x1)) 65.95/22.39 plus(active(x0), x1) 65.95/22.39 plus(x0, active(x1)) 65.95/22.39 U61(mark(x0)) 65.95/22.39 U61(active(x0)) 65.95/22.39 U71(mark(x0), x1, x2) 65.95/22.39 U71(x0, mark(x1), x2) 65.95/22.39 U71(x0, x1, mark(x2)) 65.95/22.39 U71(active(x0), x1, x2) 65.95/22.39 U71(x0, active(x1), x2) 65.95/22.39 U71(x0, x1, active(x2)) 65.95/22.39 U72(mark(x0), x1, x2) 65.95/22.39 U72(x0, mark(x1), x2) 65.95/22.39 U72(x0, x1, mark(x2)) 65.95/22.39 U72(active(x0), x1, x2) 65.95/22.39 U72(x0, active(x1), x2) 65.95/22.39 U72(x0, x1, active(x2)) 65.95/22.39 x(mark(x0), x1) 65.95/22.39 x(x0, mark(x1)) 65.95/22.39 x(active(x0), x1) 65.95/22.39 x(x0, active(x1)) 65.95/22.39 65.95/22.39 We have to consider all minimal (P,Q,R)-chains. 65.95/22.39 ---------------------------------------- 65.95/22.39 65.95/22.39 (125) DependencyGraphProof (EQUIVALENT) 65.95/22.39 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 65.95/22.39 ---------------------------------------- 65.95/22.39 65.95/22.39 (126) 65.95/22.39 Obligation: 65.95/22.39 Q DP problem: 65.95/22.39 The TRS P consists of the following rules: 65.95/22.39 65.95/22.39 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.95/22.39 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.95/22.39 MARK(U12(X)) -> MARK(X) 65.95/22.39 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.39 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.39 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.39 MARK(U21(X)) -> MARK(X) 65.95/22.39 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 65.95/22.39 ACTIVE(U31(tt, V2)) -> MARK(U32(isNat(V2))) 65.95/22.39 MARK(U32(X)) -> MARK(X) 65.95/22.39 MARK(U31(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(U51(X1, X2, X3)) -> ACTIVE(U51(mark(X1), X2, X3)) 65.95/22.39 MARK(U61(X)) -> MARK(X) 65.95/22.39 ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNat(V1), V2)) 65.95/22.39 65.95/22.39 The TRS R consists of the following rules: 65.95/22.39 65.95/22.39 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.39 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.39 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.39 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.39 active(U41(tt, N)) -> mark(N) 65.95/22.39 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.39 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.39 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.39 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.39 mark(s(X)) -> active(s(mark(X))) 65.95/22.39 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.39 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.39 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.39 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.39 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.39 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.39 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.39 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.39 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.39 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.39 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.39 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.39 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.39 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.39 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.39 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.39 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.39 mark(isNat(X)) -> active(isNat(X)) 65.95/22.39 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.39 mark(tt) -> active(tt) 65.95/22.39 mark(0) -> active(0) 65.95/22.39 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.39 x(mark(X1), X2) -> x(X1, X2) 65.95/22.39 x(active(X1), X2) -> x(X1, X2) 65.95/22.39 x(X1, active(X2)) -> x(X1, X2) 65.95/22.39 U12(active(X)) -> U12(X) 65.95/22.39 U12(mark(X)) -> U12(X) 65.95/22.39 active(U12(tt)) -> mark(tt) 65.95/22.39 active(U21(tt)) -> mark(tt) 65.95/22.39 active(U32(tt)) -> mark(tt) 65.95/22.39 active(U61(tt)) -> mark(0) 65.95/22.39 active(isNat(0)) -> mark(tt) 65.95/22.39 U32(active(X)) -> U32(X) 65.95/22.39 U32(mark(X)) -> U32(X) 65.95/22.39 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.39 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.39 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.39 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.39 s(active(X)) -> s(X) 65.95/22.39 s(mark(X)) -> s(X) 65.95/22.39 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.39 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.39 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.39 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.39 U21(active(X)) -> U21(X) 65.95/22.39 U21(mark(X)) -> U21(X) 65.95/22.39 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.39 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.39 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.39 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.39 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.39 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.39 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.39 U61(active(X)) -> U61(X) 65.95/22.39 U61(mark(X)) -> U61(X) 65.95/22.39 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.39 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.39 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.39 65.95/22.39 The set Q consists of the following terms: 65.95/22.39 65.95/22.39 active(U11(tt, x0)) 65.95/22.39 active(U12(tt)) 65.95/22.39 active(U21(tt)) 65.95/22.39 active(U31(tt, x0)) 65.95/22.39 active(U32(tt)) 65.95/22.39 active(U41(tt, x0)) 65.95/22.39 active(U51(tt, x0, x1)) 65.95/22.39 active(U52(tt, x0, x1)) 65.95/22.39 active(U61(tt)) 65.95/22.39 active(U71(tt, x0, x1)) 65.95/22.39 active(U72(tt, x0, x1)) 65.95/22.39 active(isNat(0)) 65.95/22.39 active(isNat(plus(x0, x1))) 65.95/22.39 active(isNat(s(x0))) 65.95/22.39 active(isNat(x(x0, x1))) 65.95/22.39 active(plus(x0, 0)) 65.95/22.39 active(plus(x0, s(x1))) 65.95/22.39 active(x(x0, 0)) 65.95/22.39 active(x(x0, s(x1))) 65.95/22.39 mark(U11(x0, x1)) 65.95/22.39 mark(tt) 65.95/22.39 mark(U12(x0)) 65.95/22.39 mark(isNat(x0)) 65.95/22.39 mark(U21(x0)) 65.95/22.39 mark(U31(x0, x1)) 65.95/22.39 mark(U32(x0)) 65.95/22.39 mark(U41(x0, x1)) 65.95/22.39 mark(U51(x0, x1, x2)) 65.95/22.39 mark(U52(x0, x1, x2)) 65.95/22.39 mark(s(x0)) 65.95/22.39 mark(plus(x0, x1)) 65.95/22.39 mark(U61(x0)) 65.95/22.39 mark(0) 65.95/22.39 mark(U71(x0, x1, x2)) 65.95/22.39 mark(U72(x0, x1, x2)) 65.95/22.39 mark(x(x0, x1)) 65.95/22.39 U11(mark(x0), x1) 65.95/22.39 U11(x0, mark(x1)) 65.95/22.39 U11(active(x0), x1) 65.95/22.39 U11(x0, active(x1)) 65.95/22.39 U12(mark(x0)) 65.95/22.39 U12(active(x0)) 65.95/22.39 isNat(mark(x0)) 65.95/22.39 isNat(active(x0)) 65.95/22.39 U21(mark(x0)) 65.95/22.39 U21(active(x0)) 65.95/22.39 U31(mark(x0), x1) 65.95/22.39 U31(x0, mark(x1)) 65.95/22.39 U31(active(x0), x1) 65.95/22.39 U31(x0, active(x1)) 65.95/22.39 U32(mark(x0)) 65.95/22.39 U32(active(x0)) 65.95/22.39 U41(mark(x0), x1) 65.95/22.39 U41(x0, mark(x1)) 65.95/22.39 U41(active(x0), x1) 65.95/22.39 U41(x0, active(x1)) 65.95/22.39 U51(mark(x0), x1, x2) 65.95/22.39 U51(x0, mark(x1), x2) 65.95/22.39 U51(x0, x1, mark(x2)) 65.95/22.39 U51(active(x0), x1, x2) 65.95/22.39 U51(x0, active(x1), x2) 65.95/22.39 U51(x0, x1, active(x2)) 65.95/22.39 U52(mark(x0), x1, x2) 65.95/22.39 U52(x0, mark(x1), x2) 65.95/22.39 U52(x0, x1, mark(x2)) 65.95/22.39 U52(active(x0), x1, x2) 65.95/22.39 U52(x0, active(x1), x2) 65.95/22.39 U52(x0, x1, active(x2)) 65.95/22.39 s(mark(x0)) 65.95/22.39 s(active(x0)) 65.95/22.39 plus(mark(x0), x1) 65.95/22.39 plus(x0, mark(x1)) 65.95/22.39 plus(active(x0), x1) 65.95/22.39 plus(x0, active(x1)) 65.95/22.39 U61(mark(x0)) 65.95/22.39 U61(active(x0)) 65.95/22.39 U71(mark(x0), x1, x2) 65.95/22.39 U71(x0, mark(x1), x2) 65.95/22.39 U71(x0, x1, mark(x2)) 65.95/22.39 U71(active(x0), x1, x2) 65.95/22.39 U71(x0, active(x1), x2) 65.95/22.39 U71(x0, x1, active(x2)) 65.95/22.39 U72(mark(x0), x1, x2) 65.95/22.39 U72(x0, mark(x1), x2) 65.95/22.39 U72(x0, x1, mark(x2)) 65.95/22.39 U72(active(x0), x1, x2) 65.95/22.39 U72(x0, active(x1), x2) 65.95/22.39 U72(x0, x1, active(x2)) 65.95/22.39 x(mark(x0), x1) 65.95/22.39 x(x0, mark(x1)) 65.95/22.39 x(active(x0), x1) 65.95/22.39 x(x0, active(x1)) 65.95/22.39 65.95/22.39 We have to consider all minimal (P,Q,R)-chains. 65.95/22.39 ---------------------------------------- 65.95/22.39 65.95/22.39 (127) QDPOrderProof (EQUIVALENT) 65.95/22.39 We use the reduction pair processor [LPAR04,JAR06]. 65.95/22.39 65.95/22.39 65.95/22.39 The following pairs can be oriented strictly and are deleted. 65.95/22.39 65.95/22.39 MARK(U51(X1, X2, X3)) -> ACTIVE(U51(mark(X1), X2, X3)) 65.95/22.39 The remaining pairs can at least be oriented weakly. 65.95/22.39 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 65.95/22.39 65.95/22.39 POL( ACTIVE_1(x_1) ) = max{0, 2x_1 - 2} 65.95/22.39 POL( U11_2(x_1, x_2) ) = 2 65.95/22.39 POL( U31_2(x_1, x_2) ) = 2 65.95/22.39 POL( U51_3(x_1, ..., x_3) ) = max{0, -2} 65.95/22.39 POL( mark_1(x_1) ) = 2 65.95/22.39 POL( U12_1(x_1) ) = max{0, -2} 65.95/22.39 POL( active_1(x_1) ) = max{0, x_1 - 1} 65.95/22.39 POL( tt ) = 0 65.95/22.39 POL( isNat_1(x_1) ) = 2 65.95/22.39 POL( U32_1(x_1) ) = max{0, -2} 65.95/22.39 POL( U41_2(x_1, x_2) ) = max{0, 2x_2 - 2} 65.95/22.39 POL( U52_3(x_1, ..., x_3) ) = max{0, x_1 - 2} 65.95/22.39 POL( s_1(x_1) ) = max{0, 2x_1 - 2} 65.95/22.39 POL( plus_2(x_1, x_2) ) = max{0, 2x_1 - 2} 65.95/22.39 POL( U71_3(x_1, ..., x_3) ) = 2x_1 + 2x_3 + 2 65.95/22.39 POL( U72_3(x_1, ..., x_3) ) = 2x_1 + x_3 + 2 65.95/22.39 POL( x_2(x_1, x_2) ) = max{0, 2x_2 - 2} 65.95/22.39 POL( U21_1(x_1) ) = max{0, 2x_1 - 2} 65.95/22.39 POL( 0 ) = 0 65.95/22.39 POL( U61_1(x_1) ) = max{0, 2x_1 - 2} 65.95/22.39 POL( MARK_1(x_1) ) = 2 65.95/22.39 65.95/22.39 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 65.95/22.39 65.95/22.39 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.39 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.39 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.39 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.39 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.39 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.39 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.39 65.95/22.39 65.95/22.39 ---------------------------------------- 65.95/22.39 65.95/22.39 (128) 65.95/22.39 Obligation: 65.95/22.39 Q DP problem: 65.95/22.39 The TRS P consists of the following rules: 65.95/22.39 65.95/22.39 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.95/22.39 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.95/22.39 MARK(U12(X)) -> MARK(X) 65.95/22.39 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.39 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.39 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.39 MARK(U21(X)) -> MARK(X) 65.95/22.39 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 65.95/22.39 ACTIVE(U31(tt, V2)) -> MARK(U32(isNat(V2))) 65.95/22.39 MARK(U32(X)) -> MARK(X) 65.95/22.39 MARK(U31(X1, X2)) -> MARK(X1) 65.95/22.39 MARK(U61(X)) -> MARK(X) 65.95/22.39 ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNat(V1), V2)) 65.95/22.39 65.95/22.39 The TRS R consists of the following rules: 65.95/22.39 65.95/22.39 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.39 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.39 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.39 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.39 active(U41(tt, N)) -> mark(N) 65.95/22.39 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.39 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.39 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.39 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.39 mark(s(X)) -> active(s(mark(X))) 65.95/22.39 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.39 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.39 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.39 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.39 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.39 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.39 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.39 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.39 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.39 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.39 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.39 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.39 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.39 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.39 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.39 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.39 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.39 mark(isNat(X)) -> active(isNat(X)) 65.95/22.39 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.39 mark(tt) -> active(tt) 65.95/22.39 mark(0) -> active(0) 65.95/22.39 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.39 x(mark(X1), X2) -> x(X1, X2) 65.95/22.39 x(active(X1), X2) -> x(X1, X2) 65.95/22.39 x(X1, active(X2)) -> x(X1, X2) 65.95/22.39 U12(active(X)) -> U12(X) 65.95/22.39 U12(mark(X)) -> U12(X) 65.95/22.39 active(U12(tt)) -> mark(tt) 65.95/22.39 active(U21(tt)) -> mark(tt) 65.95/22.39 active(U32(tt)) -> mark(tt) 65.95/22.39 active(U61(tt)) -> mark(0) 65.95/22.39 active(isNat(0)) -> mark(tt) 65.95/22.39 U32(active(X)) -> U32(X) 65.95/22.39 U32(mark(X)) -> U32(X) 65.95/22.39 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.39 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.39 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.39 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.39 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.39 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.39 s(active(X)) -> s(X) 65.95/22.39 s(mark(X)) -> s(X) 65.95/22.39 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.39 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.39 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.39 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.39 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.39 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.39 U21(active(X)) -> U21(X) 65.95/22.39 U21(mark(X)) -> U21(X) 65.95/22.39 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.39 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.39 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.39 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.39 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.40 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.40 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.40 U61(active(X)) -> U61(X) 65.95/22.40 U61(mark(X)) -> U61(X) 65.95/22.40 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.40 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.40 65.95/22.40 The set Q consists of the following terms: 65.95/22.40 65.95/22.40 active(U11(tt, x0)) 65.95/22.40 active(U12(tt)) 65.95/22.40 active(U21(tt)) 65.95/22.40 active(U31(tt, x0)) 65.95/22.40 active(U32(tt)) 65.95/22.40 active(U41(tt, x0)) 65.95/22.40 active(U51(tt, x0, x1)) 65.95/22.40 active(U52(tt, x0, x1)) 65.95/22.40 active(U61(tt)) 65.95/22.40 active(U71(tt, x0, x1)) 65.95/22.40 active(U72(tt, x0, x1)) 65.95/22.40 active(isNat(0)) 65.95/22.40 active(isNat(plus(x0, x1))) 65.95/22.40 active(isNat(s(x0))) 65.95/22.40 active(isNat(x(x0, x1))) 65.95/22.40 active(plus(x0, 0)) 65.95/22.40 active(plus(x0, s(x1))) 65.95/22.40 active(x(x0, 0)) 65.95/22.40 active(x(x0, s(x1))) 65.95/22.40 mark(U11(x0, x1)) 65.95/22.40 mark(tt) 65.95/22.40 mark(U12(x0)) 65.95/22.40 mark(isNat(x0)) 65.95/22.40 mark(U21(x0)) 65.95/22.40 mark(U31(x0, x1)) 65.95/22.40 mark(U32(x0)) 65.95/22.40 mark(U41(x0, x1)) 65.95/22.40 mark(U51(x0, x1, x2)) 65.95/22.40 mark(U52(x0, x1, x2)) 65.95/22.40 mark(s(x0)) 65.95/22.40 mark(plus(x0, x1)) 65.95/22.40 mark(U61(x0)) 65.95/22.40 mark(0) 65.95/22.40 mark(U71(x0, x1, x2)) 65.95/22.40 mark(U72(x0, x1, x2)) 65.95/22.40 mark(x(x0, x1)) 65.95/22.40 U11(mark(x0), x1) 65.95/22.40 U11(x0, mark(x1)) 65.95/22.40 U11(active(x0), x1) 65.95/22.40 U11(x0, active(x1)) 65.95/22.40 U12(mark(x0)) 65.95/22.40 U12(active(x0)) 65.95/22.40 isNat(mark(x0)) 65.95/22.40 isNat(active(x0)) 65.95/22.40 U21(mark(x0)) 65.95/22.40 U21(active(x0)) 65.95/22.40 U31(mark(x0), x1) 65.95/22.40 U31(x0, mark(x1)) 65.95/22.40 U31(active(x0), x1) 65.95/22.40 U31(x0, active(x1)) 65.95/22.40 U32(mark(x0)) 65.95/22.40 U32(active(x0)) 65.95/22.40 U41(mark(x0), x1) 65.95/22.40 U41(x0, mark(x1)) 65.95/22.40 U41(active(x0), x1) 65.95/22.40 U41(x0, active(x1)) 65.95/22.40 U51(mark(x0), x1, x2) 65.95/22.40 U51(x0, mark(x1), x2) 65.95/22.40 U51(x0, x1, mark(x2)) 65.95/22.40 U51(active(x0), x1, x2) 65.95/22.40 U51(x0, active(x1), x2) 65.95/22.40 U51(x0, x1, active(x2)) 65.95/22.40 U52(mark(x0), x1, x2) 65.95/22.40 U52(x0, mark(x1), x2) 65.95/22.40 U52(x0, x1, mark(x2)) 65.95/22.40 U52(active(x0), x1, x2) 65.95/22.40 U52(x0, active(x1), x2) 65.95/22.40 U52(x0, x1, active(x2)) 65.95/22.40 s(mark(x0)) 65.95/22.40 s(active(x0)) 65.95/22.40 plus(mark(x0), x1) 65.95/22.40 plus(x0, mark(x1)) 65.95/22.40 plus(active(x0), x1) 65.95/22.40 plus(x0, active(x1)) 65.95/22.40 U61(mark(x0)) 65.95/22.40 U61(active(x0)) 65.95/22.40 U71(mark(x0), x1, x2) 65.95/22.40 U71(x0, mark(x1), x2) 65.95/22.40 U71(x0, x1, mark(x2)) 65.95/22.40 U71(active(x0), x1, x2) 65.95/22.40 U71(x0, active(x1), x2) 65.95/22.40 U71(x0, x1, active(x2)) 65.95/22.40 U72(mark(x0), x1, x2) 65.95/22.40 U72(x0, mark(x1), x2) 65.95/22.40 U72(x0, x1, mark(x2)) 65.95/22.40 U72(active(x0), x1, x2) 65.95/22.40 U72(x0, active(x1), x2) 65.95/22.40 U72(x0, x1, active(x2)) 65.95/22.40 x(mark(x0), x1) 65.95/22.40 x(x0, mark(x1)) 65.95/22.40 x(active(x0), x1) 65.95/22.40 x(x0, active(x1)) 65.95/22.40 65.95/22.40 We have to consider all minimal (P,Q,R)-chains. 65.95/22.40 ---------------------------------------- 65.95/22.40 65.95/22.40 (129) QDPOrderProof (EQUIVALENT) 65.95/22.40 We use the reduction pair processor [LPAR04,JAR06]. 65.95/22.40 65.95/22.40 65.95/22.40 The following pairs can be oriented strictly and are deleted. 65.95/22.40 65.95/22.40 MARK(U61(X)) -> MARK(X) 65.95/22.40 The remaining pairs can at least be oriented weakly. 65.95/22.40 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 65.95/22.40 65.95/22.40 POL( ACTIVE_1(x_1) ) = max{0, -2} 65.95/22.40 POL( U11_2(x_1, x_2) ) = x_1 + 1 65.95/22.40 POL( U31_2(x_1, x_2) ) = 2x_1 + 1 65.95/22.40 POL( mark_1(x_1) ) = max{0, 2x_1 - 2} 65.95/22.40 POL( U12_1(x_1) ) = 2x_1 + 1 65.95/22.40 POL( active_1(x_1) ) = max{0, x_1 - 1} 65.95/22.40 POL( tt ) = 0 65.95/22.40 POL( isNat_1(x_1) ) = 0 65.95/22.40 POL( U32_1(x_1) ) = x_1 + 1 65.95/22.40 POL( U41_2(x_1, x_2) ) = 2x_1 + x_2 + 2 65.95/22.40 POL( U51_3(x_1, ..., x_3) ) = 2x_1 + 2x_3 + 2 65.95/22.40 POL( U52_3(x_1, ..., x_3) ) = 2x_1 + x_3 + 2 65.95/22.40 POL( s_1(x_1) ) = 2 65.95/22.40 POL( plus_2(x_1, x_2) ) = max{0, x_1 + x_2 - 1} 65.95/22.40 POL( U71_3(x_1, ..., x_3) ) = 2x_1 + x_3 + 2 65.95/22.40 POL( U72_3(x_1, ..., x_3) ) = 2x_1 + x_3 + 2 65.95/22.40 POL( x_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} 65.95/22.40 POL( U21_1(x_1) ) = 2x_1 + 1 65.95/22.40 POL( 0 ) = 0 65.95/22.40 POL( U61_1(x_1) ) = x_1 + 2 65.95/22.40 POL( MARK_1(x_1) ) = max{0, 2x_1 - 2} 65.95/22.40 65.95/22.40 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 65.95/22.40 none 65.95/22.40 65.95/22.40 65.95/22.40 ---------------------------------------- 65.95/22.40 65.95/22.40 (130) 65.95/22.40 Obligation: 65.95/22.40 Q DP problem: 65.95/22.40 The TRS P consists of the following rules: 65.95/22.40 65.95/22.40 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.95/22.40 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.95/22.40 MARK(U12(X)) -> MARK(X) 65.95/22.40 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.40 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.40 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.40 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.40 MARK(U21(X)) -> MARK(X) 65.95/22.40 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 65.95/22.40 ACTIVE(U31(tt, V2)) -> MARK(U32(isNat(V2))) 65.95/22.40 MARK(U32(X)) -> MARK(X) 65.95/22.40 MARK(U31(X1, X2)) -> MARK(X1) 65.95/22.40 ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNat(V1), V2)) 65.95/22.40 65.95/22.40 The TRS R consists of the following rules: 65.95/22.40 65.95/22.40 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.40 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.40 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.40 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.40 active(U41(tt, N)) -> mark(N) 65.95/22.40 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.40 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.40 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.40 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.40 mark(s(X)) -> active(s(mark(X))) 65.95/22.40 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.40 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.40 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.40 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.40 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.40 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.40 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.40 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.40 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.40 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.40 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.40 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.40 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.40 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.40 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.40 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.40 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.40 mark(isNat(X)) -> active(isNat(X)) 65.95/22.40 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.40 mark(tt) -> active(tt) 65.95/22.40 mark(0) -> active(0) 65.95/22.40 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.40 x(mark(X1), X2) -> x(X1, X2) 65.95/22.40 x(active(X1), X2) -> x(X1, X2) 65.95/22.40 x(X1, active(X2)) -> x(X1, X2) 65.95/22.40 U12(active(X)) -> U12(X) 65.95/22.40 U12(mark(X)) -> U12(X) 65.95/22.40 active(U12(tt)) -> mark(tt) 65.95/22.40 active(U21(tt)) -> mark(tt) 65.95/22.40 active(U32(tt)) -> mark(tt) 65.95/22.40 active(U61(tt)) -> mark(0) 65.95/22.40 active(isNat(0)) -> mark(tt) 65.95/22.40 U32(active(X)) -> U32(X) 65.95/22.40 U32(mark(X)) -> U32(X) 65.95/22.40 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.40 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.40 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.40 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.40 s(active(X)) -> s(X) 65.95/22.40 s(mark(X)) -> s(X) 65.95/22.40 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.40 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.40 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.40 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.40 U21(active(X)) -> U21(X) 65.95/22.40 U21(mark(X)) -> U21(X) 65.95/22.40 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.40 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.40 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.40 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.40 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.40 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.40 U61(active(X)) -> U61(X) 65.95/22.40 U61(mark(X)) -> U61(X) 65.95/22.40 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.40 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.40 65.95/22.40 The set Q consists of the following terms: 65.95/22.40 65.95/22.40 active(U11(tt, x0)) 65.95/22.40 active(U12(tt)) 65.95/22.40 active(U21(tt)) 65.95/22.40 active(U31(tt, x0)) 65.95/22.40 active(U32(tt)) 65.95/22.40 active(U41(tt, x0)) 65.95/22.40 active(U51(tt, x0, x1)) 65.95/22.40 active(U52(tt, x0, x1)) 65.95/22.40 active(U61(tt)) 65.95/22.40 active(U71(tt, x0, x1)) 65.95/22.40 active(U72(tt, x0, x1)) 65.95/22.40 active(isNat(0)) 65.95/22.40 active(isNat(plus(x0, x1))) 65.95/22.40 active(isNat(s(x0))) 65.95/22.40 active(isNat(x(x0, x1))) 65.95/22.40 active(plus(x0, 0)) 65.95/22.40 active(plus(x0, s(x1))) 65.95/22.40 active(x(x0, 0)) 65.95/22.40 active(x(x0, s(x1))) 65.95/22.40 mark(U11(x0, x1)) 65.95/22.40 mark(tt) 65.95/22.40 mark(U12(x0)) 65.95/22.40 mark(isNat(x0)) 65.95/22.40 mark(U21(x0)) 65.95/22.40 mark(U31(x0, x1)) 65.95/22.40 mark(U32(x0)) 65.95/22.40 mark(U41(x0, x1)) 65.95/22.40 mark(U51(x0, x1, x2)) 65.95/22.40 mark(U52(x0, x1, x2)) 65.95/22.40 mark(s(x0)) 65.95/22.40 mark(plus(x0, x1)) 65.95/22.40 mark(U61(x0)) 65.95/22.40 mark(0) 65.95/22.40 mark(U71(x0, x1, x2)) 65.95/22.40 mark(U72(x0, x1, x2)) 65.95/22.40 mark(x(x0, x1)) 65.95/22.40 U11(mark(x0), x1) 65.95/22.40 U11(x0, mark(x1)) 65.95/22.40 U11(active(x0), x1) 65.95/22.40 U11(x0, active(x1)) 65.95/22.40 U12(mark(x0)) 65.95/22.40 U12(active(x0)) 65.95/22.40 isNat(mark(x0)) 65.95/22.40 isNat(active(x0)) 65.95/22.40 U21(mark(x0)) 65.95/22.40 U21(active(x0)) 65.95/22.40 U31(mark(x0), x1) 65.95/22.40 U31(x0, mark(x1)) 65.95/22.40 U31(active(x0), x1) 65.95/22.40 U31(x0, active(x1)) 65.95/22.40 U32(mark(x0)) 65.95/22.40 U32(active(x0)) 65.95/22.40 U41(mark(x0), x1) 65.95/22.40 U41(x0, mark(x1)) 65.95/22.40 U41(active(x0), x1) 65.95/22.40 U41(x0, active(x1)) 65.95/22.40 U51(mark(x0), x1, x2) 65.95/22.40 U51(x0, mark(x1), x2) 65.95/22.40 U51(x0, x1, mark(x2)) 65.95/22.40 U51(active(x0), x1, x2) 65.95/22.40 U51(x0, active(x1), x2) 65.95/22.40 U51(x0, x1, active(x2)) 65.95/22.40 U52(mark(x0), x1, x2) 65.95/22.40 U52(x0, mark(x1), x2) 65.95/22.40 U52(x0, x1, mark(x2)) 65.95/22.40 U52(active(x0), x1, x2) 65.95/22.40 U52(x0, active(x1), x2) 65.95/22.40 U52(x0, x1, active(x2)) 65.95/22.40 s(mark(x0)) 65.95/22.40 s(active(x0)) 65.95/22.40 plus(mark(x0), x1) 65.95/22.40 plus(x0, mark(x1)) 65.95/22.40 plus(active(x0), x1) 65.95/22.40 plus(x0, active(x1)) 65.95/22.40 U61(mark(x0)) 65.95/22.40 U61(active(x0)) 65.95/22.40 U71(mark(x0), x1, x2) 65.95/22.40 U71(x0, mark(x1), x2) 65.95/22.40 U71(x0, x1, mark(x2)) 65.95/22.40 U71(active(x0), x1, x2) 65.95/22.40 U71(x0, active(x1), x2) 65.95/22.40 U71(x0, x1, active(x2)) 65.95/22.40 U72(mark(x0), x1, x2) 65.95/22.40 U72(x0, mark(x1), x2) 65.95/22.40 U72(x0, x1, mark(x2)) 65.95/22.40 U72(active(x0), x1, x2) 65.95/22.40 U72(x0, active(x1), x2) 65.95/22.40 U72(x0, x1, active(x2)) 65.95/22.40 x(mark(x0), x1) 65.95/22.40 x(x0, mark(x1)) 65.95/22.40 x(active(x0), x1) 65.95/22.40 x(x0, active(x1)) 65.95/22.40 65.95/22.40 We have to consider all minimal (P,Q,R)-chains. 65.95/22.40 ---------------------------------------- 65.95/22.40 65.95/22.40 (131) QDPOrderProof (EQUIVALENT) 65.95/22.40 We use the reduction pair processor [LPAR04,JAR06]. 65.95/22.40 65.95/22.40 65.95/22.40 The following pairs can be oriented strictly and are deleted. 65.95/22.40 65.95/22.40 ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNat(V1), V2)) 65.95/22.40 The remaining pairs can at least be oriented weakly. 65.95/22.40 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(MARK(x_1)) = [[-I]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U11(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(ACTIVE(x_1)) = [[-I]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(tt) = [[0A]] 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U12(x_1)) = [[0A]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(isNat(x_1)) = [[0A]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(s(x_1)) = [[-I]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U21(x_1)) = [[0A]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U31(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U32(x_1)) = [[-I]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(x(x_1, x_2)) = [[1A]] + [[1A]] * x_1 + [[1A]] * x_2 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(active(x_1)) = [[-I]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U41(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U51(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U52(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U71(x_1, x_2, x_3)) = [[-I]] + [[1A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U72(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(0) = [[0A]] 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U61(x_1)) = [[0A]] + [[-I]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 65.95/22.40 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 65.95/22.40 65.95/22.40 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.40 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.40 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.40 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.40 active(U41(tt, N)) -> mark(N) 65.95/22.40 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.40 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.40 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.40 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.40 mark(s(X)) -> active(s(mark(X))) 65.95/22.40 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.40 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.40 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.40 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.40 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.40 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.40 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.40 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.40 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.40 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.40 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.40 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.40 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.40 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.40 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.40 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.40 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.40 mark(isNat(X)) -> active(isNat(X)) 65.95/22.40 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.40 mark(tt) -> active(tt) 65.95/22.40 mark(0) -> active(0) 65.95/22.40 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.40 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.40 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.40 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.40 U12(active(X)) -> U12(X) 65.95/22.40 U12(mark(X)) -> U12(X) 65.95/22.40 active(U12(tt)) -> mark(tt) 65.95/22.40 active(U21(tt)) -> mark(tt) 65.95/22.40 active(U32(tt)) -> mark(tt) 65.95/22.40 active(U61(tt)) -> mark(0) 65.95/22.40 active(isNat(0)) -> mark(tt) 65.95/22.40 U32(active(X)) -> U32(X) 65.95/22.40 U32(mark(X)) -> U32(X) 65.95/22.40 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.40 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.40 s(active(X)) -> s(X) 65.95/22.40 s(mark(X)) -> s(X) 65.95/22.40 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.40 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.40 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.40 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.40 U21(active(X)) -> U21(X) 65.95/22.40 U21(mark(X)) -> U21(X) 65.95/22.40 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.40 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.40 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.40 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.40 U61(active(X)) -> U61(X) 65.95/22.40 U61(mark(X)) -> U61(X) 65.95/22.40 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.40 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.40 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.40 x(mark(X1), X2) -> x(X1, X2) 65.95/22.40 x(active(X1), X2) -> x(X1, X2) 65.95/22.40 x(X1, active(X2)) -> x(X1, X2) 65.95/22.40 65.95/22.40 65.95/22.40 ---------------------------------------- 65.95/22.40 65.95/22.40 (132) 65.95/22.40 Obligation: 65.95/22.40 Q DP problem: 65.95/22.40 The TRS P consists of the following rules: 65.95/22.40 65.95/22.40 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.95/22.40 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.95/22.40 MARK(U12(X)) -> MARK(X) 65.95/22.40 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.40 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.40 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.40 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.40 MARK(U21(X)) -> MARK(X) 65.95/22.40 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 65.95/22.40 ACTIVE(U31(tt, V2)) -> MARK(U32(isNat(V2))) 65.95/22.40 MARK(U32(X)) -> MARK(X) 65.95/22.40 MARK(U31(X1, X2)) -> MARK(X1) 65.95/22.40 65.95/22.40 The TRS R consists of the following rules: 65.95/22.40 65.95/22.40 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.40 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.40 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.40 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.40 active(U41(tt, N)) -> mark(N) 65.95/22.40 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.40 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.40 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.40 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.40 mark(s(X)) -> active(s(mark(X))) 65.95/22.40 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.40 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.40 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.40 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.40 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.40 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.40 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.40 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.40 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.40 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.40 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.40 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.40 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.40 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.40 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.40 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.40 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.40 mark(isNat(X)) -> active(isNat(X)) 65.95/22.40 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.40 mark(tt) -> active(tt) 65.95/22.40 mark(0) -> active(0) 65.95/22.40 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.40 x(mark(X1), X2) -> x(X1, X2) 65.95/22.40 x(active(X1), X2) -> x(X1, X2) 65.95/22.40 x(X1, active(X2)) -> x(X1, X2) 65.95/22.40 U12(active(X)) -> U12(X) 65.95/22.40 U12(mark(X)) -> U12(X) 65.95/22.40 active(U12(tt)) -> mark(tt) 65.95/22.40 active(U21(tt)) -> mark(tt) 65.95/22.40 active(U32(tt)) -> mark(tt) 65.95/22.40 active(U61(tt)) -> mark(0) 65.95/22.40 active(isNat(0)) -> mark(tt) 65.95/22.40 U32(active(X)) -> U32(X) 65.95/22.40 U32(mark(X)) -> U32(X) 65.95/22.40 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.40 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.40 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.40 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.40 s(active(X)) -> s(X) 65.95/22.40 s(mark(X)) -> s(X) 65.95/22.40 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.40 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.40 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.40 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.40 U21(active(X)) -> U21(X) 65.95/22.40 U21(mark(X)) -> U21(X) 65.95/22.40 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.40 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.40 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.40 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.40 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.40 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.40 U61(active(X)) -> U61(X) 65.95/22.40 U61(mark(X)) -> U61(X) 65.95/22.40 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.40 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.40 65.95/22.40 The set Q consists of the following terms: 65.95/22.40 65.95/22.40 active(U11(tt, x0)) 65.95/22.40 active(U12(tt)) 65.95/22.40 active(U21(tt)) 65.95/22.40 active(U31(tt, x0)) 65.95/22.40 active(U32(tt)) 65.95/22.40 active(U41(tt, x0)) 65.95/22.40 active(U51(tt, x0, x1)) 65.95/22.40 active(U52(tt, x0, x1)) 65.95/22.40 active(U61(tt)) 65.95/22.40 active(U71(tt, x0, x1)) 65.95/22.40 active(U72(tt, x0, x1)) 65.95/22.40 active(isNat(0)) 65.95/22.40 active(isNat(plus(x0, x1))) 65.95/22.40 active(isNat(s(x0))) 65.95/22.40 active(isNat(x(x0, x1))) 65.95/22.40 active(plus(x0, 0)) 65.95/22.40 active(plus(x0, s(x1))) 65.95/22.40 active(x(x0, 0)) 65.95/22.40 active(x(x0, s(x1))) 65.95/22.40 mark(U11(x0, x1)) 65.95/22.40 mark(tt) 65.95/22.40 mark(U12(x0)) 65.95/22.40 mark(isNat(x0)) 65.95/22.40 mark(U21(x0)) 65.95/22.40 mark(U31(x0, x1)) 65.95/22.40 mark(U32(x0)) 65.95/22.40 mark(U41(x0, x1)) 65.95/22.40 mark(U51(x0, x1, x2)) 65.95/22.40 mark(U52(x0, x1, x2)) 65.95/22.40 mark(s(x0)) 65.95/22.40 mark(plus(x0, x1)) 65.95/22.40 mark(U61(x0)) 65.95/22.40 mark(0) 65.95/22.40 mark(U71(x0, x1, x2)) 65.95/22.40 mark(U72(x0, x1, x2)) 65.95/22.40 mark(x(x0, x1)) 65.95/22.40 U11(mark(x0), x1) 65.95/22.40 U11(x0, mark(x1)) 65.95/22.40 U11(active(x0), x1) 65.95/22.40 U11(x0, active(x1)) 65.95/22.40 U12(mark(x0)) 65.95/22.40 U12(active(x0)) 65.95/22.40 isNat(mark(x0)) 65.95/22.40 isNat(active(x0)) 65.95/22.40 U21(mark(x0)) 65.95/22.40 U21(active(x0)) 65.95/22.40 U31(mark(x0), x1) 65.95/22.40 U31(x0, mark(x1)) 65.95/22.40 U31(active(x0), x1) 65.95/22.40 U31(x0, active(x1)) 65.95/22.40 U32(mark(x0)) 65.95/22.40 U32(active(x0)) 65.95/22.40 U41(mark(x0), x1) 65.95/22.40 U41(x0, mark(x1)) 65.95/22.40 U41(active(x0), x1) 65.95/22.40 U41(x0, active(x1)) 65.95/22.40 U51(mark(x0), x1, x2) 65.95/22.40 U51(x0, mark(x1), x2) 65.95/22.40 U51(x0, x1, mark(x2)) 65.95/22.40 U51(active(x0), x1, x2) 65.95/22.40 U51(x0, active(x1), x2) 65.95/22.40 U51(x0, x1, active(x2)) 65.95/22.40 U52(mark(x0), x1, x2) 65.95/22.40 U52(x0, mark(x1), x2) 65.95/22.40 U52(x0, x1, mark(x2)) 65.95/22.40 U52(active(x0), x1, x2) 65.95/22.40 U52(x0, active(x1), x2) 65.95/22.40 U52(x0, x1, active(x2)) 65.95/22.40 s(mark(x0)) 65.95/22.40 s(active(x0)) 65.95/22.40 plus(mark(x0), x1) 65.95/22.40 plus(x0, mark(x1)) 65.95/22.40 plus(active(x0), x1) 65.95/22.40 plus(x0, active(x1)) 65.95/22.40 U61(mark(x0)) 65.95/22.40 U61(active(x0)) 65.95/22.40 U71(mark(x0), x1, x2) 65.95/22.40 U71(x0, mark(x1), x2) 65.95/22.40 U71(x0, x1, mark(x2)) 65.95/22.40 U71(active(x0), x1, x2) 65.95/22.40 U71(x0, active(x1), x2) 65.95/22.40 U71(x0, x1, active(x2)) 65.95/22.40 U72(mark(x0), x1, x2) 65.95/22.40 U72(x0, mark(x1), x2) 65.95/22.40 U72(x0, x1, mark(x2)) 65.95/22.40 U72(active(x0), x1, x2) 65.95/22.40 U72(x0, active(x1), x2) 65.95/22.40 U72(x0, x1, active(x2)) 65.95/22.40 x(mark(x0), x1) 65.95/22.40 x(x0, mark(x1)) 65.95/22.40 x(active(x0), x1) 65.95/22.40 x(x0, active(x1)) 65.95/22.40 65.95/22.40 We have to consider all minimal (P,Q,R)-chains. 65.95/22.40 ---------------------------------------- 65.95/22.40 65.95/22.40 (133) QDPOrderProof (EQUIVALENT) 65.95/22.40 We use the reduction pair processor [LPAR04,JAR06]. 65.95/22.40 65.95/22.40 65.95/22.40 The following pairs can be oriented strictly and are deleted. 65.95/22.40 65.95/22.40 MARK(U31(X1, X2)) -> ACTIVE(U31(mark(X1), X2)) 65.95/22.40 MARK(U31(X1, X2)) -> MARK(X1) 65.95/22.40 The remaining pairs can at least be oriented weakly. 65.95/22.40 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 65.95/22.40 65.95/22.40 POL( ACTIVE_1(x_1) ) = max{0, -2} 65.95/22.40 POL( U11_2(x_1, x_2) ) = 2x_1 + 1 65.95/22.40 POL( U31_2(x_1, x_2) ) = 2x_1 + x_2 + 2 65.95/22.40 POL( mark_1(x_1) ) = max{0, -2} 65.95/22.40 POL( U12_1(x_1) ) = x_1 + 1 65.95/22.40 POL( active_1(x_1) ) = 2 65.95/22.40 POL( tt ) = 0 65.95/22.40 POL( isNat_1(x_1) ) = 0 65.95/22.40 POL( U32_1(x_1) ) = x_1 + 1 65.95/22.40 POL( U41_2(x_1, x_2) ) = x_1 + x_2 + 1 65.95/22.40 POL( U51_3(x_1, ..., x_3) ) = 2 65.95/22.40 POL( U52_3(x_1, ..., x_3) ) = x_1 + x_2 + x_3 65.95/22.40 POL( s_1(x_1) ) = 2 65.95/22.40 POL( plus_2(x_1, x_2) ) = 2 65.95/22.40 POL( U71_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 - 2} 65.95/22.40 POL( U72_3(x_1, ..., x_3) ) = max{0, x_1 - 2} 65.95/22.40 POL( x_2(x_1, x_2) ) = max{0, x_1 + 2x_2 - 2} 65.95/22.40 POL( U21_1(x_1) ) = x_1 + 1 65.95/22.40 POL( 0 ) = 0 65.95/22.40 POL( U61_1(x_1) ) = 2 65.95/22.40 POL( MARK_1(x_1) ) = max{0, 2x_1 - 2} 65.95/22.40 65.95/22.40 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 65.95/22.40 none 65.95/22.40 65.95/22.40 65.95/22.40 ---------------------------------------- 65.95/22.40 65.95/22.40 (134) 65.95/22.40 Obligation: 65.95/22.40 Q DP problem: 65.95/22.40 The TRS P consists of the following rules: 65.95/22.40 65.95/22.40 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.95/22.40 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.95/22.40 MARK(U12(X)) -> MARK(X) 65.95/22.40 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.40 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.40 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.40 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.40 MARK(U21(X)) -> MARK(X) 65.95/22.40 ACTIVE(U31(tt, V2)) -> MARK(U32(isNat(V2))) 65.95/22.40 MARK(U32(X)) -> MARK(X) 65.95/22.40 65.95/22.40 The TRS R consists of the following rules: 65.95/22.40 65.95/22.40 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.40 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.40 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.40 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.40 active(U41(tt, N)) -> mark(N) 65.95/22.40 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.40 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.40 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.40 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.40 mark(s(X)) -> active(s(mark(X))) 65.95/22.40 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.40 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.40 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.40 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.40 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.40 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.40 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.40 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.40 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.40 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.40 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.40 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.40 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.40 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.40 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.40 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.40 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.40 mark(isNat(X)) -> active(isNat(X)) 65.95/22.40 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.40 mark(tt) -> active(tt) 65.95/22.40 mark(0) -> active(0) 65.95/22.40 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.40 x(mark(X1), X2) -> x(X1, X2) 65.95/22.40 x(active(X1), X2) -> x(X1, X2) 65.95/22.40 x(X1, active(X2)) -> x(X1, X2) 65.95/22.40 U12(active(X)) -> U12(X) 65.95/22.40 U12(mark(X)) -> U12(X) 65.95/22.40 active(U12(tt)) -> mark(tt) 65.95/22.40 active(U21(tt)) -> mark(tt) 65.95/22.40 active(U32(tt)) -> mark(tt) 65.95/22.40 active(U61(tt)) -> mark(0) 65.95/22.40 active(isNat(0)) -> mark(tt) 65.95/22.40 U32(active(X)) -> U32(X) 65.95/22.40 U32(mark(X)) -> U32(X) 65.95/22.40 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.40 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.40 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.40 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.40 s(active(X)) -> s(X) 65.95/22.40 s(mark(X)) -> s(X) 65.95/22.40 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.40 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.40 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.40 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.40 U21(active(X)) -> U21(X) 65.95/22.40 U21(mark(X)) -> U21(X) 65.95/22.40 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.40 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.40 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.40 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.40 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.40 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.40 U61(active(X)) -> U61(X) 65.95/22.40 U61(mark(X)) -> U61(X) 65.95/22.40 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.40 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.40 65.95/22.40 The set Q consists of the following terms: 65.95/22.40 65.95/22.40 active(U11(tt, x0)) 65.95/22.40 active(U12(tt)) 65.95/22.40 active(U21(tt)) 65.95/22.40 active(U31(tt, x0)) 65.95/22.40 active(U32(tt)) 65.95/22.40 active(U41(tt, x0)) 65.95/22.40 active(U51(tt, x0, x1)) 65.95/22.40 active(U52(tt, x0, x1)) 65.95/22.40 active(U61(tt)) 65.95/22.40 active(U71(tt, x0, x1)) 65.95/22.40 active(U72(tt, x0, x1)) 65.95/22.40 active(isNat(0)) 65.95/22.40 active(isNat(plus(x0, x1))) 65.95/22.40 active(isNat(s(x0))) 65.95/22.40 active(isNat(x(x0, x1))) 65.95/22.40 active(plus(x0, 0)) 65.95/22.40 active(plus(x0, s(x1))) 65.95/22.40 active(x(x0, 0)) 65.95/22.40 active(x(x0, s(x1))) 65.95/22.40 mark(U11(x0, x1)) 65.95/22.40 mark(tt) 65.95/22.40 mark(U12(x0)) 65.95/22.40 mark(isNat(x0)) 65.95/22.40 mark(U21(x0)) 65.95/22.40 mark(U31(x0, x1)) 65.95/22.40 mark(U32(x0)) 65.95/22.40 mark(U41(x0, x1)) 65.95/22.40 mark(U51(x0, x1, x2)) 65.95/22.40 mark(U52(x0, x1, x2)) 65.95/22.40 mark(s(x0)) 65.95/22.40 mark(plus(x0, x1)) 65.95/22.40 mark(U61(x0)) 65.95/22.40 mark(0) 65.95/22.40 mark(U71(x0, x1, x2)) 65.95/22.40 mark(U72(x0, x1, x2)) 65.95/22.40 mark(x(x0, x1)) 65.95/22.40 U11(mark(x0), x1) 65.95/22.40 U11(x0, mark(x1)) 65.95/22.40 U11(active(x0), x1) 65.95/22.40 U11(x0, active(x1)) 65.95/22.40 U12(mark(x0)) 65.95/22.40 U12(active(x0)) 65.95/22.40 isNat(mark(x0)) 65.95/22.40 isNat(active(x0)) 65.95/22.40 U21(mark(x0)) 65.95/22.40 U21(active(x0)) 65.95/22.40 U31(mark(x0), x1) 65.95/22.40 U31(x0, mark(x1)) 65.95/22.40 U31(active(x0), x1) 65.95/22.40 U31(x0, active(x1)) 65.95/22.40 U32(mark(x0)) 65.95/22.40 U32(active(x0)) 65.95/22.40 U41(mark(x0), x1) 65.95/22.40 U41(x0, mark(x1)) 65.95/22.40 U41(active(x0), x1) 65.95/22.40 U41(x0, active(x1)) 65.95/22.40 U51(mark(x0), x1, x2) 65.95/22.40 U51(x0, mark(x1), x2) 65.95/22.40 U51(x0, x1, mark(x2)) 65.95/22.40 U51(active(x0), x1, x2) 65.95/22.40 U51(x0, active(x1), x2) 65.95/22.40 U51(x0, x1, active(x2)) 65.95/22.40 U52(mark(x0), x1, x2) 65.95/22.40 U52(x0, mark(x1), x2) 65.95/22.40 U52(x0, x1, mark(x2)) 65.95/22.40 U52(active(x0), x1, x2) 65.95/22.40 U52(x0, active(x1), x2) 65.95/22.40 U52(x0, x1, active(x2)) 65.95/22.40 s(mark(x0)) 65.95/22.40 s(active(x0)) 65.95/22.40 plus(mark(x0), x1) 65.95/22.40 plus(x0, mark(x1)) 65.95/22.40 plus(active(x0), x1) 65.95/22.40 plus(x0, active(x1)) 65.95/22.40 U61(mark(x0)) 65.95/22.40 U61(active(x0)) 65.95/22.40 U71(mark(x0), x1, x2) 65.95/22.40 U71(x0, mark(x1), x2) 65.95/22.40 U71(x0, x1, mark(x2)) 65.95/22.40 U71(active(x0), x1, x2) 65.95/22.40 U71(x0, active(x1), x2) 65.95/22.40 U71(x0, x1, active(x2)) 65.95/22.40 U72(mark(x0), x1, x2) 65.95/22.40 U72(x0, mark(x1), x2) 65.95/22.40 U72(x0, x1, mark(x2)) 65.95/22.40 U72(active(x0), x1, x2) 65.95/22.40 U72(x0, active(x1), x2) 65.95/22.40 U72(x0, x1, active(x2)) 65.95/22.40 x(mark(x0), x1) 65.95/22.40 x(x0, mark(x1)) 65.95/22.40 x(active(x0), x1) 65.95/22.40 x(x0, active(x1)) 65.95/22.40 65.95/22.40 We have to consider all minimal (P,Q,R)-chains. 65.95/22.40 ---------------------------------------- 65.95/22.40 65.95/22.40 (135) QDPQMonotonicMRRProof (EQUIVALENT) 65.95/22.40 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. 65.95/22.40 65.95/22.40 Strictly oriented dependency pairs: 65.95/22.40 65.95/22.40 ACTIVE(U31(tt, V2)) -> MARK(U32(isNat(V2))) 65.95/22.40 65.95/22.40 65.95/22.40 Used ordering: Polynomial interpretation [POLO]: 65.95/22.40 65.95/22.40 POL(0) = 0 65.95/22.40 POL(ACTIVE(x_1)) = 2*x_1 65.95/22.40 POL(MARK(x_1)) = 0 65.95/22.40 POL(U11(x_1, x_2)) = 0 65.95/22.40 POL(U12(x_1)) = 0 65.95/22.40 POL(U21(x_1)) = 0 65.95/22.40 POL(U31(x_1, x_2)) = 2 65.95/22.40 POL(U32(x_1)) = 0 65.95/22.40 POL(U41(x_1, x_2)) = 0 65.95/22.40 POL(U51(x_1, x_2, x_3)) = 0 65.95/22.40 POL(U52(x_1, x_2, x_3)) = 0 65.95/22.40 POL(U61(x_1)) = 0 65.95/22.40 POL(U71(x_1, x_2, x_3)) = 0 65.95/22.40 POL(U72(x_1, x_2, x_3)) = 0 65.95/22.40 POL(active(x_1)) = 0 65.95/22.40 POL(isNat(x_1)) = 0 65.95/22.40 POL(mark(x_1)) = 0 65.95/22.40 POL(plus(x_1, x_2)) = 0 65.95/22.40 POL(s(x_1)) = 0 65.95/22.40 POL(tt) = 0 65.95/22.40 POL(x(x_1, x_2)) = 0 65.95/22.40 65.95/22.40 65.95/22.40 ---------------------------------------- 65.95/22.40 65.95/22.40 (136) 65.95/22.40 Obligation: 65.95/22.40 Q DP problem: 65.95/22.40 The TRS P consists of the following rules: 65.95/22.40 65.95/22.40 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.95/22.40 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.95/22.40 MARK(U12(X)) -> MARK(X) 65.95/22.40 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.40 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.40 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.40 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.40 MARK(U21(X)) -> MARK(X) 65.95/22.40 MARK(U32(X)) -> MARK(X) 65.95/22.40 65.95/22.40 The TRS R consists of the following rules: 65.95/22.40 65.95/22.40 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.40 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.40 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.40 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.40 active(U41(tt, N)) -> mark(N) 65.95/22.40 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.40 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.40 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.40 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.40 mark(s(X)) -> active(s(mark(X))) 65.95/22.40 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.40 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.40 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.40 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.40 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.40 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.40 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.40 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.40 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.40 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.40 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.40 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.40 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.40 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.40 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.40 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.40 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.40 mark(isNat(X)) -> active(isNat(X)) 65.95/22.40 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.40 mark(tt) -> active(tt) 65.95/22.40 mark(0) -> active(0) 65.95/22.40 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.40 x(mark(X1), X2) -> x(X1, X2) 65.95/22.40 x(active(X1), X2) -> x(X1, X2) 65.95/22.40 x(X1, active(X2)) -> x(X1, X2) 65.95/22.40 U12(active(X)) -> U12(X) 65.95/22.40 U12(mark(X)) -> U12(X) 65.95/22.40 active(U12(tt)) -> mark(tt) 65.95/22.40 active(U21(tt)) -> mark(tt) 65.95/22.40 active(U32(tt)) -> mark(tt) 65.95/22.40 active(U61(tt)) -> mark(0) 65.95/22.40 active(isNat(0)) -> mark(tt) 65.95/22.40 U32(active(X)) -> U32(X) 65.95/22.40 U32(mark(X)) -> U32(X) 65.95/22.40 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.40 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.40 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.40 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.40 s(active(X)) -> s(X) 65.95/22.40 s(mark(X)) -> s(X) 65.95/22.40 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.40 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.40 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.40 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.40 U21(active(X)) -> U21(X) 65.95/22.40 U21(mark(X)) -> U21(X) 65.95/22.40 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.40 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.40 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.40 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.40 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.40 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.40 U61(active(X)) -> U61(X) 65.95/22.40 U61(mark(X)) -> U61(X) 65.95/22.40 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.40 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.40 65.95/22.40 The set Q consists of the following terms: 65.95/22.40 65.95/22.40 active(U11(tt, x0)) 65.95/22.40 active(U12(tt)) 65.95/22.40 active(U21(tt)) 65.95/22.40 active(U31(tt, x0)) 65.95/22.40 active(U32(tt)) 65.95/22.40 active(U41(tt, x0)) 65.95/22.40 active(U51(tt, x0, x1)) 65.95/22.40 active(U52(tt, x0, x1)) 65.95/22.40 active(U61(tt)) 65.95/22.40 active(U71(tt, x0, x1)) 65.95/22.40 active(U72(tt, x0, x1)) 65.95/22.40 active(isNat(0)) 65.95/22.40 active(isNat(plus(x0, x1))) 65.95/22.40 active(isNat(s(x0))) 65.95/22.40 active(isNat(x(x0, x1))) 65.95/22.40 active(plus(x0, 0)) 65.95/22.40 active(plus(x0, s(x1))) 65.95/22.40 active(x(x0, 0)) 65.95/22.40 active(x(x0, s(x1))) 65.95/22.40 mark(U11(x0, x1)) 65.95/22.40 mark(tt) 65.95/22.40 mark(U12(x0)) 65.95/22.40 mark(isNat(x0)) 65.95/22.40 mark(U21(x0)) 65.95/22.40 mark(U31(x0, x1)) 65.95/22.40 mark(U32(x0)) 65.95/22.40 mark(U41(x0, x1)) 65.95/22.40 mark(U51(x0, x1, x2)) 65.95/22.40 mark(U52(x0, x1, x2)) 65.95/22.40 mark(s(x0)) 65.95/22.40 mark(plus(x0, x1)) 65.95/22.40 mark(U61(x0)) 65.95/22.40 mark(0) 65.95/22.40 mark(U71(x0, x1, x2)) 65.95/22.40 mark(U72(x0, x1, x2)) 65.95/22.40 mark(x(x0, x1)) 65.95/22.40 U11(mark(x0), x1) 65.95/22.40 U11(x0, mark(x1)) 65.95/22.40 U11(active(x0), x1) 65.95/22.40 U11(x0, active(x1)) 65.95/22.40 U12(mark(x0)) 65.95/22.40 U12(active(x0)) 65.95/22.40 isNat(mark(x0)) 65.95/22.40 isNat(active(x0)) 65.95/22.40 U21(mark(x0)) 65.95/22.40 U21(active(x0)) 65.95/22.40 U31(mark(x0), x1) 65.95/22.40 U31(x0, mark(x1)) 65.95/22.40 U31(active(x0), x1) 65.95/22.40 U31(x0, active(x1)) 65.95/22.40 U32(mark(x0)) 65.95/22.40 U32(active(x0)) 65.95/22.40 U41(mark(x0), x1) 65.95/22.40 U41(x0, mark(x1)) 65.95/22.40 U41(active(x0), x1) 65.95/22.40 U41(x0, active(x1)) 65.95/22.40 U51(mark(x0), x1, x2) 65.95/22.40 U51(x0, mark(x1), x2) 65.95/22.40 U51(x0, x1, mark(x2)) 65.95/22.40 U51(active(x0), x1, x2) 65.95/22.40 U51(x0, active(x1), x2) 65.95/22.40 U51(x0, x1, active(x2)) 65.95/22.40 U52(mark(x0), x1, x2) 65.95/22.40 U52(x0, mark(x1), x2) 65.95/22.40 U52(x0, x1, mark(x2)) 65.95/22.40 U52(active(x0), x1, x2) 65.95/22.40 U52(x0, active(x1), x2) 65.95/22.40 U52(x0, x1, active(x2)) 65.95/22.40 s(mark(x0)) 65.95/22.40 s(active(x0)) 65.95/22.40 plus(mark(x0), x1) 65.95/22.40 plus(x0, mark(x1)) 65.95/22.40 plus(active(x0), x1) 65.95/22.40 plus(x0, active(x1)) 65.95/22.40 U61(mark(x0)) 65.95/22.40 U61(active(x0)) 65.95/22.40 U71(mark(x0), x1, x2) 65.95/22.40 U71(x0, mark(x1), x2) 65.95/22.40 U71(x0, x1, mark(x2)) 65.95/22.40 U71(active(x0), x1, x2) 65.95/22.40 U71(x0, active(x1), x2) 65.95/22.40 U71(x0, x1, active(x2)) 65.95/22.40 U72(mark(x0), x1, x2) 65.95/22.40 U72(x0, mark(x1), x2) 65.95/22.40 U72(x0, x1, mark(x2)) 65.95/22.40 U72(active(x0), x1, x2) 65.95/22.40 U72(x0, active(x1), x2) 65.95/22.40 U72(x0, x1, active(x2)) 65.95/22.40 x(mark(x0), x1) 65.95/22.40 x(x0, mark(x1)) 65.95/22.40 x(active(x0), x1) 65.95/22.40 x(x0, active(x1)) 65.95/22.40 65.95/22.40 We have to consider all minimal (P,Q,R)-chains. 65.95/22.40 ---------------------------------------- 65.95/22.40 65.95/22.40 (137) QDPOrderProof (EQUIVALENT) 65.95/22.40 We use the reduction pair processor [LPAR04,JAR06]. 65.95/22.40 65.95/22.40 65.95/22.40 The following pairs can be oriented strictly and are deleted. 65.95/22.40 65.95/22.40 MARK(U32(X)) -> MARK(X) 65.95/22.40 The remaining pairs can at least be oriented weakly. 65.95/22.40 Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: 65.95/22.40 65.95/22.40 POL( ACTIVE_1(x_1) ) = max{0, -2} 65.95/22.40 POL( U11_2(x_1, x_2) ) = x_1 + 1 65.95/22.40 POL( mark_1(x_1) ) = 0 65.95/22.40 POL( U12_1(x_1) ) = 2x_1 + 1 65.95/22.40 POL( active_1(x_1) ) = max{0, x_1 - 2} 65.95/22.40 POL( tt ) = 2 65.95/22.40 POL( isNat_1(x_1) ) = 0 65.95/22.40 POL( U31_2(x_1, x_2) ) = x_1 + x_2 + 2 65.95/22.40 POL( U32_1(x_1) ) = 2x_1 + 2 65.95/22.40 POL( U41_2(x_1, x_2) ) = 2x_1 + 2 65.95/22.40 POL( U51_3(x_1, ..., x_3) ) = max{0, x_2 - 2} 65.95/22.40 POL( U52_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_3 - 2} 65.95/22.40 POL( s_1(x_1) ) = 2 65.95/22.40 POL( plus_2(x_1, x_2) ) = x_1 + 2 65.95/22.40 POL( U71_3(x_1, ..., x_3) ) = max{0, x_3 - 2} 65.95/22.40 POL( U72_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} 65.95/22.40 POL( x_2(x_1, x_2) ) = 2 65.95/22.40 POL( U21_1(x_1) ) = x_1 + 1 65.95/22.40 POL( 0 ) = 0 65.95/22.40 POL( U61_1(x_1) ) = max{0, 2x_1 - 2} 65.95/22.40 POL( MARK_1(x_1) ) = max{0, x_1 - 1} 65.95/22.40 65.95/22.40 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 65.95/22.40 none 65.95/22.40 65.95/22.40 65.95/22.40 ---------------------------------------- 65.95/22.40 65.95/22.40 (138) 65.95/22.40 Obligation: 65.95/22.40 Q DP problem: 65.95/22.40 The TRS P consists of the following rules: 65.95/22.40 65.95/22.40 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.95/22.40 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.95/22.40 MARK(U12(X)) -> MARK(X) 65.95/22.40 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.40 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.40 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.40 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.40 MARK(U21(X)) -> MARK(X) 65.95/22.40 65.95/22.40 The TRS R consists of the following rules: 65.95/22.40 65.95/22.40 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.40 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.40 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.40 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.40 active(U41(tt, N)) -> mark(N) 65.95/22.40 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.40 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.40 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.40 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.40 mark(s(X)) -> active(s(mark(X))) 65.95/22.40 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.40 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.40 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.40 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.40 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.40 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.40 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.40 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.40 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.40 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.40 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.40 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.40 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.40 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.40 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.40 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.40 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.40 mark(isNat(X)) -> active(isNat(X)) 65.95/22.40 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.40 mark(tt) -> active(tt) 65.95/22.40 mark(0) -> active(0) 65.95/22.40 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.40 x(mark(X1), X2) -> x(X1, X2) 65.95/22.40 x(active(X1), X2) -> x(X1, X2) 65.95/22.40 x(X1, active(X2)) -> x(X1, X2) 65.95/22.40 U12(active(X)) -> U12(X) 65.95/22.40 U12(mark(X)) -> U12(X) 65.95/22.40 active(U12(tt)) -> mark(tt) 65.95/22.40 active(U21(tt)) -> mark(tt) 65.95/22.40 active(U32(tt)) -> mark(tt) 65.95/22.40 active(U61(tt)) -> mark(0) 65.95/22.40 active(isNat(0)) -> mark(tt) 65.95/22.40 U32(active(X)) -> U32(X) 65.95/22.40 U32(mark(X)) -> U32(X) 65.95/22.40 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.40 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.40 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.40 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.40 s(active(X)) -> s(X) 65.95/22.40 s(mark(X)) -> s(X) 65.95/22.40 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.40 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.40 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.40 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.40 U21(active(X)) -> U21(X) 65.95/22.40 U21(mark(X)) -> U21(X) 65.95/22.40 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.40 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.40 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.40 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.40 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.40 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.40 U61(active(X)) -> U61(X) 65.95/22.40 U61(mark(X)) -> U61(X) 65.95/22.40 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.40 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.40 65.95/22.40 The set Q consists of the following terms: 65.95/22.40 65.95/22.40 active(U11(tt, x0)) 65.95/22.40 active(U12(tt)) 65.95/22.40 active(U21(tt)) 65.95/22.40 active(U31(tt, x0)) 65.95/22.40 active(U32(tt)) 65.95/22.40 active(U41(tt, x0)) 65.95/22.40 active(U51(tt, x0, x1)) 65.95/22.40 active(U52(tt, x0, x1)) 65.95/22.40 active(U61(tt)) 65.95/22.40 active(U71(tt, x0, x1)) 65.95/22.40 active(U72(tt, x0, x1)) 65.95/22.40 active(isNat(0)) 65.95/22.40 active(isNat(plus(x0, x1))) 65.95/22.40 active(isNat(s(x0))) 65.95/22.40 active(isNat(x(x0, x1))) 65.95/22.40 active(plus(x0, 0)) 65.95/22.40 active(plus(x0, s(x1))) 65.95/22.40 active(x(x0, 0)) 65.95/22.40 active(x(x0, s(x1))) 65.95/22.40 mark(U11(x0, x1)) 65.95/22.40 mark(tt) 65.95/22.40 mark(U12(x0)) 65.95/22.40 mark(isNat(x0)) 65.95/22.40 mark(U21(x0)) 65.95/22.40 mark(U31(x0, x1)) 65.95/22.40 mark(U32(x0)) 65.95/22.40 mark(U41(x0, x1)) 65.95/22.40 mark(U51(x0, x1, x2)) 65.95/22.40 mark(U52(x0, x1, x2)) 65.95/22.40 mark(s(x0)) 65.95/22.40 mark(plus(x0, x1)) 65.95/22.40 mark(U61(x0)) 65.95/22.40 mark(0) 65.95/22.40 mark(U71(x0, x1, x2)) 65.95/22.40 mark(U72(x0, x1, x2)) 65.95/22.40 mark(x(x0, x1)) 65.95/22.40 U11(mark(x0), x1) 65.95/22.40 U11(x0, mark(x1)) 65.95/22.40 U11(active(x0), x1) 65.95/22.40 U11(x0, active(x1)) 65.95/22.40 U12(mark(x0)) 65.95/22.40 U12(active(x0)) 65.95/22.40 isNat(mark(x0)) 65.95/22.40 isNat(active(x0)) 65.95/22.40 U21(mark(x0)) 65.95/22.40 U21(active(x0)) 65.95/22.40 U31(mark(x0), x1) 65.95/22.40 U31(x0, mark(x1)) 65.95/22.40 U31(active(x0), x1) 65.95/22.40 U31(x0, active(x1)) 65.95/22.40 U32(mark(x0)) 65.95/22.40 U32(active(x0)) 65.95/22.40 U41(mark(x0), x1) 65.95/22.40 U41(x0, mark(x1)) 65.95/22.40 U41(active(x0), x1) 65.95/22.40 U41(x0, active(x1)) 65.95/22.40 U51(mark(x0), x1, x2) 65.95/22.40 U51(x0, mark(x1), x2) 65.95/22.40 U51(x0, x1, mark(x2)) 65.95/22.40 U51(active(x0), x1, x2) 65.95/22.40 U51(x0, active(x1), x2) 65.95/22.40 U51(x0, x1, active(x2)) 65.95/22.40 U52(mark(x0), x1, x2) 65.95/22.40 U52(x0, mark(x1), x2) 65.95/22.40 U52(x0, x1, mark(x2)) 65.95/22.40 U52(active(x0), x1, x2) 65.95/22.40 U52(x0, active(x1), x2) 65.95/22.40 U52(x0, x1, active(x2)) 65.95/22.40 s(mark(x0)) 65.95/22.40 s(active(x0)) 65.95/22.40 plus(mark(x0), x1) 65.95/22.40 plus(x0, mark(x1)) 65.95/22.40 plus(active(x0), x1) 65.95/22.40 plus(x0, active(x1)) 65.95/22.40 U61(mark(x0)) 65.95/22.40 U61(active(x0)) 65.95/22.40 U71(mark(x0), x1, x2) 65.95/22.40 U71(x0, mark(x1), x2) 65.95/22.40 U71(x0, x1, mark(x2)) 65.95/22.40 U71(active(x0), x1, x2) 65.95/22.40 U71(x0, active(x1), x2) 65.95/22.40 U71(x0, x1, active(x2)) 65.95/22.40 U72(mark(x0), x1, x2) 65.95/22.40 U72(x0, mark(x1), x2) 65.95/22.40 U72(x0, x1, mark(x2)) 65.95/22.40 U72(active(x0), x1, x2) 65.95/22.40 U72(x0, active(x1), x2) 65.95/22.40 U72(x0, x1, active(x2)) 65.95/22.40 x(mark(x0), x1) 65.95/22.40 x(x0, mark(x1)) 65.95/22.40 x(active(x0), x1) 65.95/22.40 x(x0, active(x1)) 65.95/22.40 65.95/22.40 We have to consider all minimal (P,Q,R)-chains. 65.95/22.40 ---------------------------------------- 65.95/22.40 65.95/22.40 (139) QDPOrderProof (EQUIVALENT) 65.95/22.40 We use the reduction pair processor [LPAR04,JAR06]. 65.95/22.40 65.95/22.40 65.95/22.40 The following pairs can be oriented strictly and are deleted. 65.95/22.40 65.95/22.40 MARK(U12(X)) -> MARK(X) 65.95/22.40 The remaining pairs can at least be oriented weakly. 65.95/22.40 Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(MARK(x_1)) = [[-I]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U11(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(ACTIVE(x_1)) = [[-I]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(tt) = [[2A]] 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U12(x_1)) = [[-I]] + [[1A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(isNat(x_1)) = [[0A]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(s(x_1)) = [[-I]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U21(x_1)) = [[-I]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(active(x_1)) = [[-I]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U31(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[-I]] * x_2 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U32(x_1)) = [[2A]] + [[-I]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U41(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U51(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U52(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U71(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U72(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(x(x_1, x_2)) = [[0A]] + [[1A]] * x_1 + [[0A]] * x_2 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(0) = [[2A]] 65.95/22.40 >>> 65.95/22.40 65.95/22.40 <<< 65.95/22.40 POL(U61(x_1)) = [[0A]] + [[0A]] * x_1 65.95/22.40 >>> 65.95/22.40 65.95/22.40 65.95/22.40 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: 65.95/22.40 65.95/22.40 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.40 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.40 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.40 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.40 active(U41(tt, N)) -> mark(N) 65.95/22.40 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.40 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.40 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.40 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.40 mark(s(X)) -> active(s(mark(X))) 65.95/22.40 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.40 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.40 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.40 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.40 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.40 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.40 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.40 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.40 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.40 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.40 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.40 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.40 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.40 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.40 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.40 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.40 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.40 mark(isNat(X)) -> active(isNat(X)) 65.95/22.40 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.40 mark(tt) -> active(tt) 65.95/22.40 mark(0) -> active(0) 65.95/22.40 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.40 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.40 U12(active(X)) -> U12(X) 65.95/22.40 U12(mark(X)) -> U12(X) 65.95/22.40 active(U12(tt)) -> mark(tt) 65.95/22.40 active(U21(tt)) -> mark(tt) 65.95/22.40 active(U32(tt)) -> mark(tt) 65.95/22.40 active(U61(tt)) -> mark(0) 65.95/22.40 active(isNat(0)) -> mark(tt) 65.95/22.40 U32(active(X)) -> U32(X) 65.95/22.40 U32(mark(X)) -> U32(X) 65.95/22.40 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.40 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.40 s(active(X)) -> s(X) 65.95/22.40 s(mark(X)) -> s(X) 65.95/22.40 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.40 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.40 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.40 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.40 U21(active(X)) -> U21(X) 65.95/22.40 U21(mark(X)) -> U21(X) 65.95/22.40 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.40 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.40 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.40 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.40 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.40 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.40 U61(active(X)) -> U61(X) 65.95/22.40 U61(mark(X)) -> U61(X) 65.95/22.40 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.40 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.40 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.40 x(mark(X1), X2) -> x(X1, X2) 65.95/22.40 x(active(X1), X2) -> x(X1, X2) 65.95/22.40 x(X1, active(X2)) -> x(X1, X2) 65.95/22.40 65.95/22.40 65.95/22.40 ---------------------------------------- 65.95/22.40 65.95/22.40 (140) 65.95/22.40 Obligation: 65.95/22.40 Q DP problem: 65.95/22.40 The TRS P consists of the following rules: 65.95/22.40 65.95/22.40 MARK(U11(X1, X2)) -> ACTIVE(U11(mark(X1), X2)) 65.95/22.40 ACTIVE(U11(tt, V2)) -> MARK(U12(isNat(V2))) 65.95/22.40 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.40 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.40 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.40 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.40 MARK(U21(X)) -> MARK(X) 65.95/22.40 65.95/22.40 The TRS R consists of the following rules: 65.95/22.40 65.95/22.40 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.40 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.40 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.40 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.40 active(U41(tt, N)) -> mark(N) 65.95/22.40 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.40 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.40 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.40 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.40 mark(s(X)) -> active(s(mark(X))) 65.95/22.40 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.40 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.40 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.40 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.40 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.40 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.40 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.40 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.40 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.40 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.40 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.40 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.40 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.40 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.40 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.40 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.40 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.40 mark(isNat(X)) -> active(isNat(X)) 65.95/22.40 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.40 mark(tt) -> active(tt) 65.95/22.40 mark(0) -> active(0) 65.95/22.40 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.40 x(mark(X1), X2) -> x(X1, X2) 65.95/22.40 x(active(X1), X2) -> x(X1, X2) 65.95/22.40 x(X1, active(X2)) -> x(X1, X2) 65.95/22.40 U12(active(X)) -> U12(X) 65.95/22.40 U12(mark(X)) -> U12(X) 65.95/22.40 active(U12(tt)) -> mark(tt) 65.95/22.40 active(U21(tt)) -> mark(tt) 65.95/22.40 active(U32(tt)) -> mark(tt) 65.95/22.40 active(U61(tt)) -> mark(0) 65.95/22.40 active(isNat(0)) -> mark(tt) 65.95/22.40 U32(active(X)) -> U32(X) 65.95/22.40 U32(mark(X)) -> U32(X) 65.95/22.40 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.40 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.40 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.40 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.40 s(active(X)) -> s(X) 65.95/22.40 s(mark(X)) -> s(X) 65.95/22.40 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.40 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.40 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.40 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.40 U21(active(X)) -> U21(X) 65.95/22.40 U21(mark(X)) -> U21(X) 65.95/22.40 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.40 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.40 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.40 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.40 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.40 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.40 U61(active(X)) -> U61(X) 65.95/22.40 U61(mark(X)) -> U61(X) 65.95/22.40 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.40 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.40 65.95/22.40 The set Q consists of the following terms: 65.95/22.40 65.95/22.40 active(U11(tt, x0)) 65.95/22.40 active(U12(tt)) 65.95/22.40 active(U21(tt)) 65.95/22.40 active(U31(tt, x0)) 65.95/22.40 active(U32(tt)) 65.95/22.40 active(U41(tt, x0)) 65.95/22.40 active(U51(tt, x0, x1)) 65.95/22.40 active(U52(tt, x0, x1)) 65.95/22.40 active(U61(tt)) 65.95/22.40 active(U71(tt, x0, x1)) 65.95/22.40 active(U72(tt, x0, x1)) 65.95/22.40 active(isNat(0)) 65.95/22.40 active(isNat(plus(x0, x1))) 65.95/22.40 active(isNat(s(x0))) 65.95/22.40 active(isNat(x(x0, x1))) 65.95/22.40 active(plus(x0, 0)) 65.95/22.40 active(plus(x0, s(x1))) 65.95/22.40 active(x(x0, 0)) 65.95/22.40 active(x(x0, s(x1))) 65.95/22.40 mark(U11(x0, x1)) 65.95/22.40 mark(tt) 65.95/22.40 mark(U12(x0)) 65.95/22.40 mark(isNat(x0)) 65.95/22.40 mark(U21(x0)) 65.95/22.40 mark(U31(x0, x1)) 65.95/22.40 mark(U32(x0)) 65.95/22.40 mark(U41(x0, x1)) 65.95/22.40 mark(U51(x0, x1, x2)) 65.95/22.40 mark(U52(x0, x1, x2)) 65.95/22.40 mark(s(x0)) 65.95/22.40 mark(plus(x0, x1)) 65.95/22.40 mark(U61(x0)) 65.95/22.40 mark(0) 65.95/22.40 mark(U71(x0, x1, x2)) 65.95/22.40 mark(U72(x0, x1, x2)) 65.95/22.40 mark(x(x0, x1)) 65.95/22.40 U11(mark(x0), x1) 65.95/22.40 U11(x0, mark(x1)) 65.95/22.40 U11(active(x0), x1) 65.95/22.40 U11(x0, active(x1)) 65.95/22.40 U12(mark(x0)) 65.95/22.40 U12(active(x0)) 65.95/22.40 isNat(mark(x0)) 65.95/22.40 isNat(active(x0)) 65.95/22.40 U21(mark(x0)) 65.95/22.40 U21(active(x0)) 65.95/22.40 U31(mark(x0), x1) 65.95/22.40 U31(x0, mark(x1)) 65.95/22.40 U31(active(x0), x1) 65.95/22.40 U31(x0, active(x1)) 65.95/22.40 U32(mark(x0)) 65.95/22.40 U32(active(x0)) 65.95/22.40 U41(mark(x0), x1) 65.95/22.40 U41(x0, mark(x1)) 65.95/22.40 U41(active(x0), x1) 65.95/22.40 U41(x0, active(x1)) 65.95/22.40 U51(mark(x0), x1, x2) 65.95/22.40 U51(x0, mark(x1), x2) 65.95/22.40 U51(x0, x1, mark(x2)) 65.95/22.40 U51(active(x0), x1, x2) 65.95/22.40 U51(x0, active(x1), x2) 65.95/22.40 U51(x0, x1, active(x2)) 65.95/22.40 U52(mark(x0), x1, x2) 65.95/22.40 U52(x0, mark(x1), x2) 65.95/22.40 U52(x0, x1, mark(x2)) 65.95/22.40 U52(active(x0), x1, x2) 65.95/22.40 U52(x0, active(x1), x2) 65.95/22.40 U52(x0, x1, active(x2)) 65.95/22.40 s(mark(x0)) 65.95/22.40 s(active(x0)) 65.95/22.40 plus(mark(x0), x1) 65.95/22.40 plus(x0, mark(x1)) 65.95/22.40 plus(active(x0), x1) 65.95/22.40 plus(x0, active(x1)) 65.95/22.40 U61(mark(x0)) 65.95/22.40 U61(active(x0)) 65.95/22.40 U71(mark(x0), x1, x2) 65.95/22.40 U71(x0, mark(x1), x2) 65.95/22.40 U71(x0, x1, mark(x2)) 65.95/22.40 U71(active(x0), x1, x2) 65.95/22.40 U71(x0, active(x1), x2) 65.95/22.40 U71(x0, x1, active(x2)) 65.95/22.40 U72(mark(x0), x1, x2) 65.95/22.40 U72(x0, mark(x1), x2) 65.95/22.40 U72(x0, x1, mark(x2)) 65.95/22.40 U72(active(x0), x1, x2) 65.95/22.40 U72(x0, active(x1), x2) 65.95/22.40 U72(x0, x1, active(x2)) 65.95/22.40 x(mark(x0), x1) 65.95/22.40 x(x0, mark(x1)) 65.95/22.40 x(active(x0), x1) 65.95/22.40 x(x0, active(x1)) 65.95/22.40 65.95/22.40 We have to consider all minimal (P,Q,R)-chains. 65.95/22.40 ---------------------------------------- 65.95/22.40 65.95/22.40 (141) DependencyGraphProof (EQUIVALENT) 65.95/22.40 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. 65.95/22.40 ---------------------------------------- 65.95/22.40 65.95/22.40 (142) 65.95/22.40 Obligation: 65.95/22.40 Q DP problem: 65.95/22.40 The TRS P consists of the following rules: 65.95/22.40 65.95/22.40 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.40 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.40 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.40 MARK(U21(X)) -> MARK(X) 65.95/22.40 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.40 65.95/22.40 The TRS R consists of the following rules: 65.95/22.40 65.95/22.40 mark(U12(X)) -> active(U12(mark(X))) 65.95/22.40 active(U11(tt, V2)) -> mark(U12(isNat(V2))) 65.95/22.40 active(U31(tt, V2)) -> mark(U32(isNat(V2))) 65.95/22.40 mark(U32(X)) -> active(U32(mark(X))) 65.95/22.40 active(U41(tt, N)) -> mark(N) 65.95/22.40 mark(U11(X1, X2)) -> active(U11(mark(X1), X2)) 65.95/22.40 active(U51(tt, M, N)) -> mark(U52(isNat(N), M, N)) 65.95/22.40 mark(U52(X1, X2, X3)) -> active(U52(mark(X1), X2, X3)) 65.95/22.40 active(U52(tt, M, N)) -> mark(s(plus(N, M))) 65.95/22.40 mark(s(X)) -> active(s(mark(X))) 65.95/22.40 active(U71(tt, M, N)) -> mark(U72(isNat(N), M, N)) 65.95/22.40 mark(U72(X1, X2, X3)) -> active(U72(mark(X1), X2, X3)) 65.95/22.40 active(U72(tt, M, N)) -> mark(plus(x(N, M), N)) 65.95/22.40 mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) 65.95/22.40 active(isNat(plus(V1, V2))) -> mark(U11(isNat(V1), V2)) 65.95/22.40 active(isNat(s(V1))) -> mark(U21(isNat(V1))) 65.95/22.40 mark(U21(X)) -> active(U21(mark(X))) 65.95/22.40 active(isNat(x(V1, V2))) -> mark(U31(isNat(V1), V2)) 65.95/22.40 mark(U31(X1, X2)) -> active(U31(mark(X1), X2)) 65.95/22.40 active(plus(N, 0)) -> mark(U41(isNat(N), N)) 65.95/22.40 mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) 65.95/22.40 active(plus(N, s(M))) -> mark(U51(isNat(M), M, N)) 65.95/22.40 mark(U51(X1, X2, X3)) -> active(U51(mark(X1), X2, X3)) 65.95/22.40 active(x(N, 0)) -> mark(U61(isNat(N))) 65.95/22.40 mark(U61(X)) -> active(U61(mark(X))) 65.95/22.40 active(x(N, s(M))) -> mark(U71(isNat(M), M, N)) 65.95/22.40 mark(U71(X1, X2, X3)) -> active(U71(mark(X1), X2, X3)) 65.95/22.40 mark(isNat(X)) -> active(isNat(X)) 65.95/22.40 mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) 65.95/22.40 mark(tt) -> active(tt) 65.95/22.40 mark(0) -> active(0) 65.95/22.40 x(X1, mark(X2)) -> x(X1, X2) 65.95/22.40 x(mark(X1), X2) -> x(X1, X2) 65.95/22.40 x(active(X1), X2) -> x(X1, X2) 65.95/22.40 x(X1, active(X2)) -> x(X1, X2) 65.95/22.40 U12(active(X)) -> U12(X) 65.95/22.40 U12(mark(X)) -> U12(X) 65.95/22.40 active(U12(tt)) -> mark(tt) 65.95/22.40 active(U21(tt)) -> mark(tt) 65.95/22.40 active(U32(tt)) -> mark(tt) 65.95/22.40 active(U61(tt)) -> mark(0) 65.95/22.40 active(isNat(0)) -> mark(tt) 65.95/22.40 U32(active(X)) -> U32(X) 65.95/22.40 U32(mark(X)) -> U32(X) 65.95/22.40 U11(X1, mark(X2)) -> U11(X1, X2) 65.95/22.40 U11(mark(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(active(X1), X2) -> U11(X1, X2) 65.95/22.40 U11(X1, active(X2)) -> U11(X1, X2) 65.95/22.40 U52(X1, mark(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(mark(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, mark(X3)) -> U52(X1, X2, X3) 65.95/22.40 U52(active(X1), X2, X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, active(X2), X3) -> U52(X1, X2, X3) 65.95/22.40 U52(X1, X2, active(X3)) -> U52(X1, X2, X3) 65.95/22.40 s(active(X)) -> s(X) 65.95/22.40 s(mark(X)) -> s(X) 65.95/22.40 U72(X1, mark(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(mark(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, mark(X3)) -> U72(X1, X2, X3) 65.95/22.40 U72(active(X1), X2, X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, active(X2), X3) -> U72(X1, X2, X3) 65.95/22.40 U72(X1, X2, active(X3)) -> U72(X1, X2, X3) 65.95/22.40 plus(X1, mark(X2)) -> plus(X1, X2) 65.95/22.40 plus(mark(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(active(X1), X2) -> plus(X1, X2) 65.95/22.40 plus(X1, active(X2)) -> plus(X1, X2) 65.95/22.40 U21(active(X)) -> U21(X) 65.95/22.40 U21(mark(X)) -> U21(X) 65.95/22.40 U31(X1, mark(X2)) -> U31(X1, X2) 65.95/22.40 U31(mark(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(active(X1), X2) -> U31(X1, X2) 65.95/22.40 U31(X1, active(X2)) -> U31(X1, X2) 65.95/22.40 U41(X1, mark(X2)) -> U41(X1, X2) 65.95/22.40 U41(mark(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(active(X1), X2) -> U41(X1, X2) 65.95/22.40 U41(X1, active(X2)) -> U41(X1, X2) 65.95/22.40 U51(X1, mark(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(mark(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, mark(X3)) -> U51(X1, X2, X3) 65.95/22.40 U51(active(X1), X2, X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, active(X2), X3) -> U51(X1, X2, X3) 65.95/22.40 U51(X1, X2, active(X3)) -> U51(X1, X2, X3) 65.95/22.40 U61(active(X)) -> U61(X) 65.95/22.40 U61(mark(X)) -> U61(X) 65.95/22.40 U71(X1, mark(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(mark(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, mark(X3)) -> U71(X1, X2, X3) 65.95/22.40 U71(active(X1), X2, X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, active(X2), X3) -> U71(X1, X2, X3) 65.95/22.40 U71(X1, X2, active(X3)) -> U71(X1, X2, X3) 65.95/22.40 65.95/22.40 The set Q consists of the following terms: 65.95/22.40 65.95/22.40 active(U11(tt, x0)) 65.95/22.40 active(U12(tt)) 65.95/22.40 active(U21(tt)) 65.95/22.40 active(U31(tt, x0)) 65.95/22.40 active(U32(tt)) 65.95/22.40 active(U41(tt, x0)) 65.95/22.40 active(U51(tt, x0, x1)) 65.95/22.40 active(U52(tt, x0, x1)) 65.95/22.40 active(U61(tt)) 65.95/22.40 active(U71(tt, x0, x1)) 65.95/22.40 active(U72(tt, x0, x1)) 65.95/22.40 active(isNat(0)) 65.95/22.40 active(isNat(plus(x0, x1))) 65.95/22.40 active(isNat(s(x0))) 65.95/22.40 active(isNat(x(x0, x1))) 65.95/22.40 active(plus(x0, 0)) 65.95/22.40 active(plus(x0, s(x1))) 65.95/22.40 active(x(x0, 0)) 65.95/22.40 active(x(x0, s(x1))) 65.95/22.40 mark(U11(x0, x1)) 65.95/22.40 mark(tt) 65.95/22.40 mark(U12(x0)) 65.95/22.40 mark(isNat(x0)) 65.95/22.40 mark(U21(x0)) 65.95/22.40 mark(U31(x0, x1)) 65.95/22.40 mark(U32(x0)) 65.95/22.40 mark(U41(x0, x1)) 65.95/22.40 mark(U51(x0, x1, x2)) 65.95/22.40 mark(U52(x0, x1, x2)) 65.95/22.40 mark(s(x0)) 65.95/22.40 mark(plus(x0, x1)) 65.95/22.40 mark(U61(x0)) 65.95/22.40 mark(0) 65.95/22.40 mark(U71(x0, x1, x2)) 65.95/22.40 mark(U72(x0, x1, x2)) 65.95/22.40 mark(x(x0, x1)) 65.95/22.40 U11(mark(x0), x1) 65.95/22.40 U11(x0, mark(x1)) 65.95/22.40 U11(active(x0), x1) 65.95/22.40 U11(x0, active(x1)) 65.95/22.40 U12(mark(x0)) 65.95/22.40 U12(active(x0)) 65.95/22.40 isNat(mark(x0)) 65.95/22.40 isNat(active(x0)) 65.95/22.40 U21(mark(x0)) 65.95/22.40 U21(active(x0)) 65.95/22.40 U31(mark(x0), x1) 65.95/22.40 U31(x0, mark(x1)) 65.95/22.40 U31(active(x0), x1) 65.95/22.40 U31(x0, active(x1)) 65.95/22.40 U32(mark(x0)) 65.95/22.40 U32(active(x0)) 65.95/22.40 U41(mark(x0), x1) 65.95/22.40 U41(x0, mark(x1)) 65.95/22.40 U41(active(x0), x1) 65.95/22.40 U41(x0, active(x1)) 65.95/22.40 U51(mark(x0), x1, x2) 65.95/22.40 U51(x0, mark(x1), x2) 65.95/22.40 U51(x0, x1, mark(x2)) 65.95/22.40 U51(active(x0), x1, x2) 65.95/22.40 U51(x0, active(x1), x2) 65.95/22.40 U51(x0, x1, active(x2)) 65.95/22.40 U52(mark(x0), x1, x2) 65.95/22.40 U52(x0, mark(x1), x2) 65.95/22.40 U52(x0, x1, mark(x2)) 65.95/22.40 U52(active(x0), x1, x2) 65.95/22.40 U52(x0, active(x1), x2) 65.95/22.40 U52(x0, x1, active(x2)) 65.95/22.40 s(mark(x0)) 65.95/22.40 s(active(x0)) 65.95/22.40 plus(mark(x0), x1) 65.95/22.40 plus(x0, mark(x1)) 65.95/22.40 plus(active(x0), x1) 65.95/22.40 plus(x0, active(x1)) 65.95/22.40 U61(mark(x0)) 65.95/22.40 U61(active(x0)) 65.95/22.40 U71(mark(x0), x1, x2) 65.95/22.40 U71(x0, mark(x1), x2) 65.95/22.40 U71(x0, x1, mark(x2)) 65.95/22.40 U71(active(x0), x1, x2) 65.95/22.40 U71(x0, active(x1), x2) 65.95/22.40 U71(x0, x1, active(x2)) 65.95/22.40 U72(mark(x0), x1, x2) 65.95/22.40 U72(x0, mark(x1), x2) 65.95/22.40 U72(x0, x1, mark(x2)) 65.95/22.40 U72(active(x0), x1, x2) 65.95/22.40 U72(x0, active(x1), x2) 65.95/22.40 U72(x0, x1, active(x2)) 65.95/22.40 x(mark(x0), x1) 65.95/22.40 x(x0, mark(x1)) 65.95/22.40 x(active(x0), x1) 65.95/22.40 x(x0, active(x1)) 65.95/22.40 65.95/22.40 We have to consider all minimal (P,Q,R)-chains. 65.95/22.40 ---------------------------------------- 65.95/22.40 65.95/22.40 (143) UsableRulesProof (EQUIVALENT) 65.95/22.40 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. 65.95/22.40 ---------------------------------------- 65.95/22.40 65.95/22.40 (144) 65.95/22.40 Obligation: 65.95/22.40 Q DP problem: 65.95/22.40 The TRS P consists of the following rules: 65.95/22.40 65.95/22.40 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.40 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.40 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.40 MARK(U21(X)) -> MARK(X) 65.95/22.40 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.40 65.95/22.40 R is empty. 65.95/22.40 The set Q consists of the following terms: 65.95/22.40 65.95/22.40 active(U11(tt, x0)) 65.95/22.40 active(U12(tt)) 65.95/22.40 active(U21(tt)) 65.95/22.40 active(U31(tt, x0)) 65.95/22.40 active(U32(tt)) 65.95/22.40 active(U41(tt, x0)) 65.95/22.40 active(U51(tt, x0, x1)) 65.95/22.40 active(U52(tt, x0, x1)) 65.95/22.40 active(U61(tt)) 65.95/22.40 active(U71(tt, x0, x1)) 65.95/22.40 active(U72(tt, x0, x1)) 65.95/22.40 active(isNat(0)) 65.95/22.40 active(isNat(plus(x0, x1))) 65.95/22.40 active(isNat(s(x0))) 65.95/22.40 active(isNat(x(x0, x1))) 65.95/22.40 active(plus(x0, 0)) 65.95/22.40 active(plus(x0, s(x1))) 65.95/22.40 active(x(x0, 0)) 65.95/22.40 active(x(x0, s(x1))) 65.95/22.40 mark(U11(x0, x1)) 65.95/22.40 mark(tt) 65.95/22.40 mark(U12(x0)) 65.95/22.40 mark(isNat(x0)) 65.95/22.40 mark(U21(x0)) 65.95/22.40 mark(U31(x0, x1)) 65.95/22.40 mark(U32(x0)) 65.95/22.40 mark(U41(x0, x1)) 65.95/22.40 mark(U51(x0, x1, x2)) 65.95/22.40 mark(U52(x0, x1, x2)) 65.95/22.40 mark(s(x0)) 65.95/22.40 mark(plus(x0, x1)) 65.95/22.40 mark(U61(x0)) 65.95/22.40 mark(0) 65.95/22.40 mark(U71(x0, x1, x2)) 65.95/22.40 mark(U72(x0, x1, x2)) 65.95/22.40 mark(x(x0, x1)) 65.95/22.40 U11(mark(x0), x1) 65.95/22.40 U11(x0, mark(x1)) 65.95/22.40 U11(active(x0), x1) 65.95/22.40 U11(x0, active(x1)) 65.95/22.40 U12(mark(x0)) 65.95/22.40 U12(active(x0)) 65.95/22.40 isNat(mark(x0)) 65.95/22.40 isNat(active(x0)) 65.95/22.40 U21(mark(x0)) 65.95/22.40 U21(active(x0)) 65.95/22.40 U31(mark(x0), x1) 65.95/22.40 U31(x0, mark(x1)) 65.95/22.40 U31(active(x0), x1) 65.95/22.40 U31(x0, active(x1)) 65.95/22.40 U32(mark(x0)) 65.95/22.40 U32(active(x0)) 65.95/22.40 U41(mark(x0), x1) 65.95/22.40 U41(x0, mark(x1)) 65.95/22.40 U41(active(x0), x1) 65.95/22.40 U41(x0, active(x1)) 65.95/22.40 U51(mark(x0), x1, x2) 65.95/22.40 U51(x0, mark(x1), x2) 65.95/22.41 U51(x0, x1, mark(x2)) 65.95/22.41 U51(active(x0), x1, x2) 65.95/22.41 U51(x0, active(x1), x2) 65.95/22.41 U51(x0, x1, active(x2)) 65.95/22.41 U52(mark(x0), x1, x2) 65.95/22.41 U52(x0, mark(x1), x2) 65.95/22.41 U52(x0, x1, mark(x2)) 65.95/22.41 U52(active(x0), x1, x2) 65.95/22.41 U52(x0, active(x1), x2) 65.95/22.41 U52(x0, x1, active(x2)) 65.95/22.41 s(mark(x0)) 65.95/22.41 s(active(x0)) 65.95/22.41 plus(mark(x0), x1) 65.95/22.41 plus(x0, mark(x1)) 65.95/22.41 plus(active(x0), x1) 65.95/22.41 plus(x0, active(x1)) 65.95/22.41 U61(mark(x0)) 65.95/22.41 U61(active(x0)) 65.95/22.41 U71(mark(x0), x1, x2) 65.95/22.41 U71(x0, mark(x1), x2) 65.95/22.41 U71(x0, x1, mark(x2)) 65.95/22.41 U71(active(x0), x1, x2) 65.95/22.41 U71(x0, active(x1), x2) 65.95/22.41 U71(x0, x1, active(x2)) 65.95/22.41 U72(mark(x0), x1, x2) 65.95/22.41 U72(x0, mark(x1), x2) 65.95/22.41 U72(x0, x1, mark(x2)) 65.95/22.41 U72(active(x0), x1, x2) 65.95/22.41 U72(x0, active(x1), x2) 65.95/22.41 U72(x0, x1, active(x2)) 65.95/22.41 x(mark(x0), x1) 65.95/22.41 x(x0, mark(x1)) 65.95/22.41 x(active(x0), x1) 65.95/22.41 x(x0, active(x1)) 65.95/22.41 65.95/22.41 We have to consider all minimal (P,Q,R)-chains. 65.95/22.41 ---------------------------------------- 65.95/22.41 65.95/22.41 (145) QReductionProof (EQUIVALENT) 65.95/22.41 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.95/22.41 65.95/22.41 active(U11(tt, x0)) 65.95/22.41 active(U12(tt)) 65.95/22.41 active(U21(tt)) 65.95/22.41 active(U31(tt, x0)) 65.95/22.41 active(U32(tt)) 65.95/22.41 active(U41(tt, x0)) 65.95/22.41 active(U51(tt, x0, x1)) 65.95/22.41 active(U52(tt, x0, x1)) 65.95/22.41 active(U61(tt)) 65.95/22.41 active(U71(tt, x0, x1)) 65.95/22.41 active(U72(tt, x0, x1)) 65.95/22.41 active(isNat(0)) 65.95/22.41 active(isNat(plus(x0, x1))) 65.95/22.41 active(isNat(s(x0))) 65.95/22.41 active(isNat(x(x0, x1))) 65.95/22.41 active(plus(x0, 0)) 65.95/22.41 active(plus(x0, s(x1))) 65.95/22.41 active(x(x0, 0)) 65.95/22.41 active(x(x0, s(x1))) 65.95/22.41 mark(U11(x0, x1)) 65.95/22.41 mark(tt) 65.95/22.41 mark(U12(x0)) 65.95/22.41 mark(isNat(x0)) 65.95/22.41 mark(U21(x0)) 65.95/22.41 mark(U31(x0, x1)) 65.95/22.41 mark(U32(x0)) 65.95/22.41 mark(U41(x0, x1)) 65.95/22.41 mark(U51(x0, x1, x2)) 65.95/22.41 mark(U52(x0, x1, x2)) 65.95/22.41 mark(s(x0)) 65.95/22.41 mark(plus(x0, x1)) 65.95/22.41 mark(U61(x0)) 65.95/22.41 mark(0) 65.95/22.41 mark(U71(x0, x1, x2)) 65.95/22.41 mark(U72(x0, x1, x2)) 65.95/22.41 mark(x(x0, x1)) 65.95/22.41 U12(mark(x0)) 65.95/22.41 U12(active(x0)) 65.95/22.41 U31(mark(x0), x1) 65.95/22.41 U31(x0, mark(x1)) 65.95/22.41 U31(active(x0), x1) 65.95/22.41 U31(x0, active(x1)) 65.95/22.41 U32(mark(x0)) 65.95/22.41 U32(active(x0)) 65.95/22.41 U41(mark(x0), x1) 65.95/22.41 U41(x0, mark(x1)) 65.95/22.41 U41(active(x0), x1) 65.95/22.41 U41(x0, active(x1)) 65.95/22.41 U51(mark(x0), x1, x2) 65.95/22.41 U51(x0, mark(x1), x2) 65.95/22.41 U51(x0, x1, mark(x2)) 65.95/22.41 U51(active(x0), x1, x2) 65.95/22.41 U51(x0, active(x1), x2) 65.95/22.41 U51(x0, x1, active(x2)) 65.95/22.41 U52(mark(x0), x1, x2) 65.95/22.41 U52(x0, mark(x1), x2) 65.95/22.41 U52(x0, x1, mark(x2)) 65.95/22.41 U52(active(x0), x1, x2) 65.95/22.41 U52(x0, active(x1), x2) 65.95/22.41 U52(x0, x1, active(x2)) 65.95/22.41 U61(mark(x0)) 65.95/22.41 U61(active(x0)) 65.95/22.41 U71(mark(x0), x1, x2) 65.95/22.41 U71(x0, mark(x1), x2) 65.95/22.41 U71(x0, x1, mark(x2)) 65.95/22.41 U71(active(x0), x1, x2) 65.95/22.41 U71(x0, active(x1), x2) 65.95/22.41 U71(x0, x1, active(x2)) 65.95/22.41 U72(mark(x0), x1, x2) 65.95/22.41 U72(x0, mark(x1), x2) 65.95/22.41 U72(x0, x1, mark(x2)) 65.95/22.41 U72(active(x0), x1, x2) 65.95/22.41 U72(x0, active(x1), x2) 65.95/22.41 U72(x0, x1, active(x2)) 65.95/22.41 x(mark(x0), x1) 65.95/22.41 x(x0, mark(x1)) 65.95/22.41 x(active(x0), x1) 65.95/22.41 x(x0, active(x1)) 65.95/22.41 65.95/22.41 65.95/22.41 ---------------------------------------- 65.95/22.41 65.95/22.41 (146) 65.95/22.41 Obligation: 65.95/22.41 Q DP problem: 65.95/22.41 The TRS P consists of the following rules: 65.95/22.41 65.95/22.41 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.41 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.41 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.41 MARK(U21(X)) -> MARK(X) 65.95/22.41 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.41 65.95/22.41 R is empty. 65.95/22.41 The set Q consists of the following terms: 65.95/22.41 65.95/22.41 U11(mark(x0), x1) 65.95/22.41 U11(x0, mark(x1)) 65.95/22.41 U11(active(x0), x1) 65.95/22.41 U11(x0, active(x1)) 65.95/22.41 isNat(mark(x0)) 65.95/22.41 isNat(active(x0)) 65.95/22.41 U21(mark(x0)) 65.95/22.41 U21(active(x0)) 65.95/22.41 s(mark(x0)) 65.95/22.41 s(active(x0)) 65.95/22.41 plus(mark(x0), x1) 65.95/22.41 plus(x0, mark(x1)) 65.95/22.41 plus(active(x0), x1) 65.95/22.41 plus(x0, active(x1)) 65.95/22.41 65.95/22.41 We have to consider all minimal (P,Q,R)-chains. 65.95/22.41 ---------------------------------------- 65.95/22.41 65.95/22.41 (147) UsableRulesReductionPairsProof (EQUIVALENT) 65.95/22.41 By using the usable rules with reduction pair processor [LPAR04] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules [FROCOS05] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well. 65.95/22.41 65.95/22.41 The following dependency pairs can be deleted: 65.95/22.41 65.95/22.41 ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNat(V1), V2)) 65.95/22.41 MARK(U21(X)) -> MARK(X) 65.95/22.41 ACTIVE(isNat(s(V1))) -> MARK(U21(isNat(V1))) 65.95/22.41 No rules are removed from R. 65.95/22.41 65.95/22.41 Used ordering: POLO with Polynomial interpretation [POLO]: 65.95/22.41 65.95/22.41 POL(ACTIVE(x_1)) = 2 + 2*x_1 65.95/22.41 POL(MARK(x_1)) = 2 + 2*x_1 65.95/22.41 POL(U11(x_1, x_2)) = x_1 + x_2 65.95/22.41 POL(U21(x_1)) = 1 + x_1 65.95/22.41 POL(isNat(x_1)) = 2 + 2*x_1 65.95/22.41 POL(plus(x_1, x_2)) = 1 + 2*x_1 + x_2 65.95/22.41 POL(s(x_1)) = 2 + 2*x_1 65.95/22.41 65.95/22.41 65.95/22.41 ---------------------------------------- 65.95/22.41 65.95/22.41 (148) 65.95/22.41 Obligation: 65.95/22.41 Q DP problem: 65.95/22.41 The TRS P consists of the following rules: 65.95/22.41 65.95/22.41 MARK(isNat(X)) -> ACTIVE(isNat(X)) 65.95/22.41 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.41 65.95/22.41 R is empty. 65.95/22.41 The set Q consists of the following terms: 65.95/22.41 65.95/22.41 U11(mark(x0), x1) 65.95/22.41 U11(x0, mark(x1)) 65.95/22.41 U11(active(x0), x1) 65.95/22.41 U11(x0, active(x1)) 65.95/22.41 isNat(mark(x0)) 65.95/22.41 isNat(active(x0)) 65.95/22.41 U21(mark(x0)) 65.95/22.41 U21(active(x0)) 65.95/22.41 s(mark(x0)) 65.95/22.41 s(active(x0)) 65.95/22.41 plus(mark(x0), x1) 65.95/22.41 plus(x0, mark(x1)) 65.95/22.41 plus(active(x0), x1) 65.95/22.41 plus(x0, active(x1)) 65.95/22.41 65.95/22.41 We have to consider all minimal (P,Q,R)-chains. 65.95/22.41 ---------------------------------------- 65.95/22.41 65.95/22.41 (149) DependencyGraphProof (EQUIVALENT) 65.95/22.41 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. 65.95/22.41 ---------------------------------------- 65.95/22.41 65.95/22.41 (150) 65.95/22.41 Obligation: 65.95/22.41 Q DP problem: 65.95/22.41 The TRS P consists of the following rules: 65.95/22.41 65.95/22.41 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.41 65.95/22.41 R is empty. 65.95/22.41 The set Q consists of the following terms: 65.95/22.41 65.95/22.41 U11(mark(x0), x1) 65.95/22.41 U11(x0, mark(x1)) 65.95/22.41 U11(active(x0), x1) 65.95/22.41 U11(x0, active(x1)) 65.95/22.41 isNat(mark(x0)) 65.95/22.41 isNat(active(x0)) 65.95/22.41 U21(mark(x0)) 65.95/22.41 U21(active(x0)) 65.95/22.41 s(mark(x0)) 65.95/22.41 s(active(x0)) 65.95/22.41 plus(mark(x0), x1) 65.95/22.41 plus(x0, mark(x1)) 65.95/22.41 plus(active(x0), x1) 65.95/22.41 plus(x0, active(x1)) 65.95/22.41 65.95/22.41 We have to consider all minimal (P,Q,R)-chains. 65.95/22.41 ---------------------------------------- 65.95/22.41 65.95/22.41 (151) QReductionProof (EQUIVALENT) 65.95/22.41 We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. 65.95/22.41 65.95/22.41 isNat(mark(x0)) 65.95/22.41 isNat(active(x0)) 65.95/22.41 U21(mark(x0)) 65.95/22.41 U21(active(x0)) 65.95/22.41 s(mark(x0)) 65.95/22.41 s(active(x0)) 65.95/22.41 plus(mark(x0), x1) 65.95/22.41 plus(x0, mark(x1)) 65.95/22.41 plus(active(x0), x1) 65.95/22.41 plus(x0, active(x1)) 65.95/22.41 65.95/22.41 65.95/22.41 ---------------------------------------- 65.95/22.41 65.95/22.41 (152) 65.95/22.41 Obligation: 65.95/22.41 Q DP problem: 65.95/22.41 The TRS P consists of the following rules: 65.95/22.41 65.95/22.41 MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.41 65.95/22.41 R is empty. 65.95/22.41 The set Q consists of the following terms: 65.95/22.41 65.95/22.41 U11(mark(x0), x1) 65.95/22.41 U11(x0, mark(x1)) 65.95/22.41 U11(active(x0), x1) 65.95/22.41 U11(x0, active(x1)) 65.95/22.41 65.95/22.41 We have to consider all minimal (P,Q,R)-chains. 65.95/22.41 ---------------------------------------- 65.95/22.41 65.95/22.41 (153) QDPSizeChangeProof (EQUIVALENT) 65.95/22.41 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. 65.95/22.41 65.95/22.41 From the DPs we obtained the following set of size-change graphs: 65.95/22.41 *MARK(U11(X1, X2)) -> MARK(X1) 65.95/22.41 The graph contains the following edges 1 > 1 65.95/22.41 65.95/22.41 65.95/22.41 ---------------------------------------- 65.95/22.41 65.95/22.41 (154) 65.95/22.41 YES 66.05/22.46 EOF