/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty Termination w.r.t. Q of the given QTRS could be proven: (0) QTRS (1) DependencyPairsProof [EQUIVALENT, 533 ms] (2) QDP (3) DependencyGraphProof [EQUIVALENT, 0 ms] (4) AND (5) QDP (6) UsableRulesProof [EQUIVALENT, 0 ms] (7) QDP (8) QReductionProof [EQUIVALENT, 0 ms] (9) QDP (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] (11) YES (12) QDP (13) UsableRulesProof [EQUIVALENT, 0 ms] (14) QDP (15) QReductionProof [EQUIVALENT, 0 ms] (16) QDP (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] (18) YES (19) QDP (20) UsableRulesProof [EQUIVALENT, 0 ms] (21) QDP (22) QReductionProof [EQUIVALENT, 0 ms] (23) QDP (24) QDPSizeChangeProof [EQUIVALENT, 0 ms] (25) YES (26) QDP (27) UsableRulesProof [EQUIVALENT, 0 ms] (28) QDP (29) QReductionProof [EQUIVALENT, 0 ms] (30) QDP (31) QDPSizeChangeProof [EQUIVALENT, 0 ms] (32) YES (33) QDP (34) UsableRulesProof [EQUIVALENT, 0 ms] (35) QDP (36) QReductionProof [EQUIVALENT, 0 ms] (37) QDP (38) QDPSizeChangeProof [EQUIVALENT, 0 ms] (39) YES (40) QDP (41) UsableRulesProof [EQUIVALENT, 0 ms] (42) QDP (43) QReductionProof [EQUIVALENT, 0 ms] (44) QDP (45) QDPSizeChangeProof [EQUIVALENT, 0 ms] (46) YES (47) QDP (48) UsableRulesProof [EQUIVALENT, 0 ms] (49) QDP (50) QReductionProof [EQUIVALENT, 0 ms] (51) QDP (52) QDPSizeChangeProof [EQUIVALENT, 0 ms] (53) YES (54) QDP (55) UsableRulesProof [EQUIVALENT, 0 ms] (56) QDP (57) QReductionProof [EQUIVALENT, 0 ms] (58) QDP (59) QDPSizeChangeProof [EQUIVALENT, 0 ms] (60) YES (61) QDP (62) UsableRulesProof [EQUIVALENT, 0 ms] (63) QDP (64) QReductionProof [EQUIVALENT, 0 ms] (65) QDP (66) QDPSizeChangeProof [EQUIVALENT, 0 ms] (67) YES (68) QDP (69) UsableRulesProof [EQUIVALENT, 0 ms] (70) QDP (71) QReductionProof [EQUIVALENT, 0 ms] (72) QDP (73) QDPSizeChangeProof [EQUIVALENT, 0 ms] (74) YES (75) QDP (76) UsableRulesProof [EQUIVALENT, 0 ms] (77) QDP (78) QReductionProof [EQUIVALENT, 0 ms] (79) QDP (80) QDPSizeChangeProof [EQUIVALENT, 0 ms] (81) YES (82) QDP (83) UsableRulesProof [EQUIVALENT, 0 ms] (84) QDP (85) QReductionProof [EQUIVALENT, 0 ms] (86) QDP (87) QDPSizeChangeProof [EQUIVALENT, 0 ms] (88) YES (89) QDP (90) UsableRulesProof [EQUIVALENT, 0 ms] (91) QDP (92) QReductionProof [EQUIVALENT, 0 ms] (93) QDP (94) QDPSizeChangeProof [EQUIVALENT, 0 ms] (95) YES (96) QDP (97) UsableRulesProof [EQUIVALENT, 0 ms] (98) QDP (99) QReductionProof [EQUIVALENT, 0 ms] (100) QDP (101) QDPSizeChangeProof [EQUIVALENT, 0 ms] (102) YES (103) QDP (104) UsableRulesProof [EQUIVALENT, 0 ms] (105) QDP (106) QReductionProof [EQUIVALENT, 0 ms] (107) QDP (108) QDPSizeChangeProof [EQUIVALENT, 0 ms] (109) YES (110) QDP (111) UsableRulesProof [EQUIVALENT, 0 ms] (112) QDP (113) QReductionProof [EQUIVALENT, 0 ms] (114) QDP (115) QDPSizeChangeProof [EQUIVALENT, 0 ms] (116) YES (117) QDP (118) UsableRulesProof [EQUIVALENT, 0 ms] (119) QDP (120) QReductionProof [EQUIVALENT, 0 ms] (121) QDP (122) QDPSizeChangeProof [EQUIVALENT, 0 ms] (123) YES (124) QDP (125) UsableRulesProof [EQUIVALENT, 0 ms] (126) QDP (127) QReductionProof [EQUIVALENT, 0 ms] (128) QDP (129) QDPSizeChangeProof [EQUIVALENT, 0 ms] (130) YES (131) QDP (132) UsableRulesProof [EQUIVALENT, 0 ms] (133) QDP (134) QReductionProof [EQUIVALENT, 0 ms] (135) QDP (136) QDPSizeChangeProof [EQUIVALENT, 0 ms] (137) YES (138) QDP (139) UsableRulesProof [EQUIVALENT, 0 ms] (140) QDP (141) QReductionProof [EQUIVALENT, 0 ms] (142) QDP (143) QDPSizeChangeProof [EQUIVALENT, 0 ms] (144) YES (145) QDP (146) UsableRulesProof [EQUIVALENT, 0 ms] (147) QDP (148) QReductionProof [EQUIVALENT, 0 ms] (149) QDP (150) QDPSizeChangeProof [EQUIVALENT, 0 ms] (151) YES (152) QDP (153) UsableRulesProof [EQUIVALENT, 0 ms] (154) QDP (155) QReductionProof [EQUIVALENT, 0 ms] (156) QDP (157) QDPSizeChangeProof [EQUIVALENT, 0 ms] (158) YES (159) QDP (160) UsableRulesProof [EQUIVALENT, 0 ms] (161) QDP (162) QReductionProof [EQUIVALENT, 0 ms] (163) QDP (164) QDPSizeChangeProof [EQUIVALENT, 0 ms] (165) YES (166) QDP (167) UsableRulesProof [EQUIVALENT, 0 ms] (168) QDP (169) QReductionProof [EQUIVALENT, 0 ms] (170) QDP (171) QDPSizeChangeProof [EQUIVALENT, 0 ms] (172) YES (173) QDP (174) UsableRulesProof [EQUIVALENT, 0 ms] (175) QDP (176) QReductionProof [EQUIVALENT, 0 ms] (177) QDP (178) QDPSizeChangeProof [EQUIVALENT, 0 ms] (179) YES (180) QDP (181) UsableRulesProof [EQUIVALENT, 0 ms] (182) QDP (183) QReductionProof [EQUIVALENT, 0 ms] (184) QDP (185) QDPSizeChangeProof [EQUIVALENT, 0 ms] (186) YES (187) QDP (188) UsableRulesProof [EQUIVALENT, 0 ms] (189) QDP (190) QReductionProof [EQUIVALENT, 0 ms] (191) QDP (192) QDPSizeChangeProof [EQUIVALENT, 0 ms] (193) YES (194) QDP (195) UsableRulesProof [EQUIVALENT, 0 ms] (196) QDP (197) QReductionProof [EQUIVALENT, 0 ms] (198) QDP (199) QDPSizeChangeProof [EQUIVALENT, 0 ms] (200) YES (201) QDP (202) UsableRulesProof [EQUIVALENT, 0 ms] (203) QDP (204) QReductionProof [EQUIVALENT, 0 ms] (205) QDP (206) QDPSizeChangeProof [EQUIVALENT, 0 ms] (207) YES (208) QDP (209) UsableRulesProof [EQUIVALENT, 0 ms] (210) QDP (211) QReductionProof [EQUIVALENT, 0 ms] (212) QDP (213) QDPSizeChangeProof [EQUIVALENT, 0 ms] (214) YES (215) QDP (216) UsableRulesProof [EQUIVALENT, 0 ms] (217) QDP (218) QReductionProof [EQUIVALENT, 0 ms] (219) QDP (220) QDPSizeChangeProof [EQUIVALENT, 0 ms] (221) YES (222) QDP (223) UsableRulesProof [EQUIVALENT, 0 ms] (224) QDP (225) QReductionProof [EQUIVALENT, 3 ms] (226) QDP (227) QDPSizeChangeProof [EQUIVALENT, 0 ms] (228) YES (229) QDP (230) UsableRulesProof [EQUIVALENT, 0 ms] (231) QDP (232) QReductionProof [EQUIVALENT, 2 ms] (233) QDP (234) QDPSizeChangeProof [EQUIVALENT, 0 ms] (235) YES (236) QDP (237) UsableRulesProof [EQUIVALENT, 0 ms] (238) QDP (239) QReductionProof [EQUIVALENT, 0 ms] (240) QDP (241) QDPSizeChangeProof [EQUIVALENT, 0 ms] (242) YES (243) QDP (244) UsableRulesProof [EQUIVALENT, 0 ms] (245) QDP (246) QReductionProof [EQUIVALENT, 0 ms] (247) QDP (248) QDPSizeChangeProof [EQUIVALENT, 0 ms] (249) YES (250) QDP (251) UsableRulesProof [EQUIVALENT, 0 ms] (252) QDP (253) QReductionProof [EQUIVALENT, 0 ms] (254) QDP (255) QDPSizeChangeProof [EQUIVALENT, 0 ms] (256) YES (257) QDP (258) UsableRulesProof [EQUIVALENT, 0 ms] (259) QDP (260) QReductionProof [EQUIVALENT, 0 ms] (261) QDP (262) QDPSizeChangeProof [EQUIVALENT, 0 ms] (263) YES (264) QDP (265) UsableRulesProof [EQUIVALENT, 0 ms] (266) QDP (267) QDPOrderProof [EQUIVALENT, 1799 ms] (268) QDP (269) QDPOrderProof [EQUIVALENT, 1438 ms] (270) QDP (271) QDPOrderProof [EQUIVALENT, 3755 ms] (272) QDP (273) DependencyGraphProof [EQUIVALENT, 0 ms] (274) QDP (275) QDPOrderProof [EQUIVALENT, 1267 ms] (276) QDP (277) DependencyGraphProof [EQUIVALENT, 0 ms] (278) QDP (279) QDPOrderProof [EQUIVALENT, 446 ms] (280) QDP (281) DependencyGraphProof [EQUIVALENT, 0 ms] (282) QDP (283) QDPOrderProof [EQUIVALENT, 1253 ms] (284) QDP (285) DependencyGraphProof [EQUIVALENT, 0 ms] (286) QDP (287) QDPOrderProof [EQUIVALENT, 1119 ms] (288) QDP (289) QDPOrderProof [EQUIVALENT, 663 ms] (290) QDP (291) QDPOrderProof [EQUIVALENT, 2403 ms] (292) QDP (293) QDPOrderProof [EQUIVALENT, 2460 ms] (294) QDP (295) QDPOrderProof [EQUIVALENT, 326 ms] (296) QDP (297) DependencyGraphProof [EQUIVALENT, 0 ms] (298) QDP (299) QDPOrderProof [EQUIVALENT, 1310 ms] (300) QDP (301) QDPOrderProof [EQUIVALENT, 2408 ms] (302) QDP (303) QDPOrderProof [EQUIVALENT, 2458 ms] (304) QDP (305) QDPOrderProof [EQUIVALENT, 2121 ms] (306) QDP (307) QDPOrderProof [EQUIVALENT, 1046 ms] (308) QDP (309) QDPOrderProof [EQUIVALENT, 1152 ms] (310) QDP (311) QDPOrderProof [EQUIVALENT, 2090 ms] (312) QDP (313) QDPOrderProof [EQUIVALENT, 2232 ms] (314) QDP (315) QDPOrderProof [EQUIVALENT, 2126 ms] (316) QDP (317) QDPOrderProof [EQUIVALENT, 2258 ms] (318) QDP (319) QDPOrderProof [EQUIVALENT, 2425 ms] (320) QDP (321) QDPOrderProof [EQUIVALENT, 2173 ms] (322) QDP (323) DependencyGraphProof [EQUIVALENT, 0 ms] (324) QDP (325) QDPOrderProof [EQUIVALENT, 1250 ms] (326) QDP (327) DependencyGraphProof [EQUIVALENT, 0 ms] (328) QDP (329) QDPOrderProof [EQUIVALENT, 1061 ms] (330) QDP (331) QDPOrderProof [EQUIVALENT, 2049 ms] (332) QDP (333) QDPQMonotonicMRRProof [EQUIVALENT, 974 ms] (334) QDP (335) DependencyGraphProof [EQUIVALENT, 0 ms] (336) QDP (337) QDPOrderProof [EQUIVALENT, 954 ms] (338) QDP (339) QDPOrderProof [EQUIVALENT, 850 ms] (340) QDP (341) DependencyGraphProof [EQUIVALENT, 0 ms] (342) QDP (343) QDPOrderProof [EQUIVALENT, 1961 ms] (344) QDP (345) QDPOrderProof [EQUIVALENT, 2081 ms] (346) QDP (347) QDPOrderProof [EQUIVALENT, 2018 ms] (348) QDP (349) QDPQMonotonicMRRProof [EQUIVALENT, 848 ms] (350) QDP (351) QDPOrderProof [EQUIVALENT, 879 ms] (352) QDP (353) QDPOrderProof [EQUIVALENT, 2057 ms] (354) QDP (355) QDPQMonotonicMRRProof [EQUIVALENT, 778 ms] (356) QDP (357) QDPOrderProof [EQUIVALENT, 917 ms] (358) QDP (359) QDPOrderProof [EQUIVALENT, 1129 ms] (360) QDP (361) DependencyGraphProof [EQUIVALENT, 0 ms] (362) QDP (363) QDPOrderProof [EQUIVALENT, 807 ms] (364) QDP (365) QDPOrderProof [EQUIVALENT, 835 ms] (366) QDP (367) QDPOrderProof [EQUIVALENT, 1743 ms] (368) QDP (369) DependencyGraphProof [EQUIVALENT, 0 ms] (370) QDP (371) QDPOrderProof [EQUIVALENT, 931 ms] (372) QDP (373) QDPOrderProof [EQUIVALENT, 667 ms] (374) QDP (375) DependencyGraphProof [EQUIVALENT, 0 ms] (376) QDP (377) UsableRulesProof [EQUIVALENT, 0 ms] (378) QDP (379) QReductionProof [EQUIVALENT, 0 ms] (380) QDP (381) QDPSizeChangeProof [EQUIVALENT, 0 ms] (382) YES ---------------------------------------- (0) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (1) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (2) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U101(tt, M, N)) -> MARK(U102(isNatKind(M), M, N)) ACTIVE(U101(tt, M, N)) -> U102^1(isNatKind(M), M, N) ACTIVE(U101(tt, M, N)) -> ISNATKIND(M) ACTIVE(U102(tt, M, N)) -> MARK(U103(isNat(N), M, N)) ACTIVE(U102(tt, M, N)) -> U103^1(isNat(N), M, N) ACTIVE(U102(tt, M, N)) -> ISNAT(N) ACTIVE(U103(tt, M, N)) -> MARK(U104(isNatKind(N), M, N)) ACTIVE(U103(tt, M, N)) -> U104^1(isNatKind(N), M, N) ACTIVE(U103(tt, M, N)) -> ISNATKIND(N) ACTIVE(U104(tt, M, N)) -> MARK(plus(x(N, M), N)) ACTIVE(U104(tt, M, N)) -> PLUS(x(N, M), N) ACTIVE(U104(tt, M, N)) -> X(N, M) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U11(tt, V1, V2)) -> U12^1(isNatKind(V1), V1, V2) ACTIVE(U11(tt, V1, V2)) -> ISNATKIND(V1) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> U13^1(isNatKind(V2), V1, V2) ACTIVE(U12(tt, V1, V2)) -> ISNATKIND(V2) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) ACTIVE(U13(tt, V1, V2)) -> U14^1(isNatKind(V2), V1, V2) ACTIVE(U13(tt, V1, V2)) -> ISNATKIND(V2) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) ACTIVE(U14(tt, V1, V2)) -> U15^1(isNat(V1), V2) ACTIVE(U14(tt, V1, V2)) -> ISNAT(V1) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) ACTIVE(U15(tt, V2)) -> U16^1(isNat(V2)) ACTIVE(U15(tt, V2)) -> ISNAT(V2) ACTIVE(U16(tt)) -> MARK(tt) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) ACTIVE(U21(tt, V1)) -> U22^1(isNatKind(V1), V1) ACTIVE(U21(tt, V1)) -> ISNATKIND(V1) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) ACTIVE(U22(tt, V1)) -> U23^1(isNat(V1)) ACTIVE(U22(tt, V1)) -> ISNAT(V1) ACTIVE(U23(tt)) -> MARK(tt) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) ACTIVE(U31(tt, V1, V2)) -> U32^1(isNatKind(V1), V1, V2) ACTIVE(U31(tt, V1, V2)) -> ISNATKIND(V1) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) ACTIVE(U32(tt, V1, V2)) -> U33^1(isNatKind(V2), V1, V2) ACTIVE(U32(tt, V1, V2)) -> ISNATKIND(V2) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) ACTIVE(U33(tt, V1, V2)) -> U34^1(isNatKind(V2), V1, V2) ACTIVE(U33(tt, V1, V2)) -> ISNATKIND(V2) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) ACTIVE(U34(tt, V1, V2)) -> U35^1(isNat(V1), V2) ACTIVE(U34(tt, V1, V2)) -> ISNAT(V1) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) ACTIVE(U35(tt, V2)) -> U36^1(isNat(V2)) ACTIVE(U35(tt, V2)) -> ISNAT(V2) ACTIVE(U36(tt)) -> MARK(tt) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) ACTIVE(U41(tt, V2)) -> U42^1(isNatKind(V2)) ACTIVE(U41(tt, V2)) -> ISNATKIND(V2) ACTIVE(U42(tt)) -> MARK(tt) ACTIVE(U51(tt)) -> MARK(tt) ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) ACTIVE(U61(tt, V2)) -> U62^1(isNatKind(V2)) ACTIVE(U61(tt, V2)) -> ISNATKIND(V2) ACTIVE(U62(tt)) -> MARK(tt) ACTIVE(U71(tt, N)) -> MARK(U72(isNatKind(N), N)) ACTIVE(U71(tt, N)) -> U72^1(isNatKind(N), N) ACTIVE(U71(tt, N)) -> ISNATKIND(N) ACTIVE(U72(tt, N)) -> MARK(N) ACTIVE(U81(tt, M, N)) -> MARK(U82(isNatKind(M), M, N)) ACTIVE(U81(tt, M, N)) -> U82^1(isNatKind(M), M, N) ACTIVE(U81(tt, M, N)) -> ISNATKIND(M) ACTIVE(U82(tt, M, N)) -> MARK(U83(isNat(N), M, N)) ACTIVE(U82(tt, M, N)) -> U83^1(isNat(N), M, N) ACTIVE(U82(tt, M, N)) -> ISNAT(N) ACTIVE(U83(tt, M, N)) -> MARK(U84(isNatKind(N), M, N)) ACTIVE(U83(tt, M, N)) -> U84^1(isNatKind(N), M, N) ACTIVE(U83(tt, M, N)) -> ISNATKIND(N) ACTIVE(U84(tt, M, N)) -> MARK(s(plus(N, M))) ACTIVE(U84(tt, M, N)) -> S(plus(N, M)) ACTIVE(U84(tt, M, N)) -> PLUS(N, M) ACTIVE(U91(tt, N)) -> MARK(U92(isNatKind(N))) ACTIVE(U91(tt, N)) -> U92^1(isNatKind(N)) ACTIVE(U91(tt, N)) -> ISNATKIND(N) ACTIVE(U92(tt)) -> MARK(0) ACTIVE(isNat(0)) -> MARK(tt) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) ACTIVE(isNat(plus(V1, V2))) -> U11^1(isNatKind(V1), V1, V2) ACTIVE(isNat(plus(V1, V2))) -> ISNATKIND(V1) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(s(V1))) -> U21^1(isNatKind(V1), V1) ACTIVE(isNat(s(V1))) -> ISNATKIND(V1) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNat(x(V1, V2))) -> U31^1(isNatKind(V1), V1, V2) ACTIVE(isNat(x(V1, V2))) -> ISNATKIND(V1) ACTIVE(isNatKind(0)) -> MARK(tt) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) ACTIVE(isNatKind(plus(V1, V2))) -> U41^1(isNatKind(V1), V2) ACTIVE(isNatKind(plus(V1, V2))) -> ISNATKIND(V1) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(s(V1))) -> U51^1(isNatKind(V1)) ACTIVE(isNatKind(s(V1))) -> ISNATKIND(V1) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) ACTIVE(isNatKind(x(V1, V2))) -> U61^1(isNatKind(V1), V2) ACTIVE(isNatKind(x(V1, V2))) -> ISNATKIND(V1) ACTIVE(plus(N, 0)) -> MARK(U71(isNat(N), N)) ACTIVE(plus(N, 0)) -> U71^1(isNat(N), N) ACTIVE(plus(N, 0)) -> ISNAT(N) ACTIVE(plus(N, s(M))) -> MARK(U81(isNat(M), M, N)) ACTIVE(plus(N, s(M))) -> U81^1(isNat(M), M, N) ACTIVE(plus(N, s(M))) -> ISNAT(M) ACTIVE(x(N, 0)) -> MARK(U91(isNat(N), N)) ACTIVE(x(N, 0)) -> U91^1(isNat(N), N) ACTIVE(x(N, 0)) -> ISNAT(N) ACTIVE(x(N, s(M))) -> MARK(U101(isNat(M), M, N)) ACTIVE(x(N, s(M))) -> U101^1(isNat(M), M, N) ACTIVE(x(N, s(M))) -> ISNAT(M) MARK(U101(X1, X2, X3)) -> ACTIVE(U101(mark(X1), X2, X3)) MARK(U101(X1, X2, X3)) -> U101^1(mark(X1), X2, X3) MARK(U101(X1, X2, X3)) -> MARK(X1) MARK(tt) -> ACTIVE(tt) MARK(U102(X1, X2, X3)) -> ACTIVE(U102(mark(X1), X2, X3)) MARK(U102(X1, X2, X3)) -> U102^1(mark(X1), X2, X3) MARK(U102(X1, X2, X3)) -> MARK(X1) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) MARK(U103(X1, X2, X3)) -> ACTIVE(U103(mark(X1), X2, X3)) MARK(U103(X1, X2, X3)) -> U103^1(mark(X1), X2, X3) MARK(U103(X1, X2, X3)) -> MARK(X1) MARK(isNat(X)) -> ACTIVE(isNat(X)) MARK(U104(X1, X2, X3)) -> ACTIVE(U104(mark(X1), X2, X3)) MARK(U104(X1, X2, X3)) -> U104^1(mark(X1), X2, X3) MARK(U104(X1, X2, X3)) -> MARK(X1) MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) MARK(plus(X1, X2)) -> PLUS(mark(X1), mark(X2)) MARK(plus(X1, X2)) -> MARK(X1) MARK(plus(X1, X2)) -> MARK(X2) MARK(x(X1, X2)) -> ACTIVE(x(mark(X1), mark(X2))) MARK(x(X1, X2)) -> X(mark(X1), mark(X2)) MARK(x(X1, X2)) -> MARK(X1) MARK(x(X1, X2)) -> MARK(X2) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) MARK(U11(X1, X2, X3)) -> U11^1(mark(X1), X2, X3) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) MARK(U12(X1, X2, X3)) -> U12^1(mark(X1), X2, X3) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) MARK(U13(X1, X2, X3)) -> U13^1(mark(X1), X2, X3) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) MARK(U14(X1, X2, X3)) -> U14^1(mark(X1), X2, X3) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) MARK(U15(X1, X2)) -> U15^1(mark(X1), X2) MARK(U15(X1, X2)) -> MARK(X1) MARK(U16(X)) -> ACTIVE(U16(mark(X))) MARK(U16(X)) -> U16^1(mark(X)) MARK(U16(X)) -> MARK(X) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U21(X1, X2)) -> U21^1(mark(X1), X2) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) MARK(U22(X1, X2)) -> U22^1(mark(X1), X2) MARK(U22(X1, X2)) -> MARK(X1) MARK(U23(X)) -> ACTIVE(U23(mark(X))) MARK(U23(X)) -> U23^1(mark(X)) MARK(U23(X)) -> MARK(X) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U31(X1, X2, X3)) -> U31^1(mark(X1), X2, X3) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) MARK(U32(X1, X2, X3)) -> U32^1(mark(X1), X2, X3) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) MARK(U33(X1, X2, X3)) -> U33^1(mark(X1), X2, X3) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) MARK(U34(X1, X2, X3)) -> U34^1(mark(X1), X2, X3) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) MARK(U35(X1, X2)) -> U35^1(mark(X1), X2) MARK(U35(X1, X2)) -> MARK(X1) MARK(U36(X)) -> ACTIVE(U36(mark(X))) MARK(U36(X)) -> U36^1(mark(X)) MARK(U36(X)) -> MARK(X) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) MARK(U41(X1, X2)) -> U41^1(mark(X1), X2) MARK(U41(X1, X2)) -> MARK(X1) MARK(U42(X)) -> ACTIVE(U42(mark(X))) MARK(U42(X)) -> U42^1(mark(X)) MARK(U42(X)) -> MARK(X) MARK(U51(X)) -> ACTIVE(U51(mark(X))) MARK(U51(X)) -> U51^1(mark(X)) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) MARK(U61(X1, X2)) -> U61^1(mark(X1), X2) MARK(U61(X1, X2)) -> MARK(X1) MARK(U62(X)) -> ACTIVE(U62(mark(X))) MARK(U62(X)) -> U62^1(mark(X)) MARK(U62(X)) -> MARK(X) MARK(U71(X1, X2)) -> ACTIVE(U71(mark(X1), X2)) MARK(U71(X1, X2)) -> U71^1(mark(X1), X2) MARK(U71(X1, X2)) -> MARK(X1) MARK(U72(X1, X2)) -> ACTIVE(U72(mark(X1), X2)) MARK(U72(X1, X2)) -> U72^1(mark(X1), X2) MARK(U72(X1, X2)) -> MARK(X1) MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) MARK(U81(X1, X2, X3)) -> U81^1(mark(X1), X2, X3) MARK(U81(X1, X2, X3)) -> MARK(X1) MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) MARK(U82(X1, X2, X3)) -> U82^1(mark(X1), X2, X3) MARK(U82(X1, X2, X3)) -> MARK(X1) MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) MARK(U83(X1, X2, X3)) -> U83^1(mark(X1), X2, X3) MARK(U83(X1, X2, X3)) -> MARK(X1) MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) MARK(U84(X1, X2, X3)) -> U84^1(mark(X1), X2, X3) MARK(U84(X1, X2, X3)) -> MARK(X1) MARK(s(X)) -> ACTIVE(s(mark(X))) MARK(s(X)) -> S(mark(X)) MARK(s(X)) -> MARK(X) MARK(U91(X1, X2)) -> ACTIVE(U91(mark(X1), X2)) MARK(U91(X1, X2)) -> U91^1(mark(X1), X2) MARK(U91(X1, X2)) -> MARK(X1) MARK(U92(X)) -> ACTIVE(U92(mark(X))) MARK(U92(X)) -> U92^1(mark(X)) MARK(U92(X)) -> MARK(X) MARK(0) -> ACTIVE(0) U101^1(mark(X1), X2, X3) -> U101^1(X1, X2, X3) U101^1(X1, mark(X2), X3) -> U101^1(X1, X2, X3) U101^1(X1, X2, mark(X3)) -> U101^1(X1, X2, X3) U101^1(active(X1), X2, X3) -> U101^1(X1, X2, X3) U101^1(X1, active(X2), X3) -> U101^1(X1, X2, X3) U101^1(X1, X2, active(X3)) -> U101^1(X1, X2, X3) U102^1(mark(X1), X2, X3) -> U102^1(X1, X2, X3) U102^1(X1, mark(X2), X3) -> U102^1(X1, X2, X3) U102^1(X1, X2, mark(X3)) -> U102^1(X1, X2, X3) U102^1(active(X1), X2, X3) -> U102^1(X1, X2, X3) U102^1(X1, active(X2), X3) -> U102^1(X1, X2, X3) U102^1(X1, X2, active(X3)) -> U102^1(X1, X2, X3) ISNATKIND(mark(X)) -> ISNATKIND(X) ISNATKIND(active(X)) -> ISNATKIND(X) U103^1(mark(X1), X2, X3) -> U103^1(X1, X2, X3) U103^1(X1, mark(X2), X3) -> U103^1(X1, X2, X3) U103^1(X1, X2, mark(X3)) -> U103^1(X1, X2, X3) U103^1(active(X1), X2, X3) -> U103^1(X1, X2, X3) U103^1(X1, active(X2), X3) -> U103^1(X1, X2, X3) U103^1(X1, X2, active(X3)) -> U103^1(X1, X2, X3) ISNAT(mark(X)) -> ISNAT(X) ISNAT(active(X)) -> ISNAT(X) U104^1(mark(X1), X2, X3) -> U104^1(X1, X2, X3) U104^1(X1, mark(X2), X3) -> U104^1(X1, X2, X3) U104^1(X1, X2, mark(X3)) -> U104^1(X1, X2, X3) U104^1(active(X1), X2, X3) -> U104^1(X1, X2, X3) U104^1(X1, active(X2), X3) -> U104^1(X1, X2, X3) U104^1(X1, X2, active(X3)) -> U104^1(X1, X2, X3) PLUS(mark(X1), X2) -> PLUS(X1, X2) PLUS(X1, mark(X2)) -> PLUS(X1, X2) PLUS(active(X1), X2) -> PLUS(X1, X2) PLUS(X1, active(X2)) -> PLUS(X1, X2) X(mark(X1), X2) -> X(X1, X2) X(X1, mark(X2)) -> X(X1, X2) X(active(X1), X2) -> X(X1, X2) X(X1, active(X2)) -> X(X1, X2) U11^1(mark(X1), X2, X3) -> U11^1(X1, X2, X3) U11^1(X1, mark(X2), X3) -> U11^1(X1, X2, X3) U11^1(X1, X2, mark(X3)) -> U11^1(X1, X2, X3) U11^1(active(X1), X2, X3) -> U11^1(X1, X2, X3) U11^1(X1, active(X2), X3) -> U11^1(X1, X2, X3) U11^1(X1, X2, active(X3)) -> U11^1(X1, X2, X3) U12^1(mark(X1), X2, X3) -> U12^1(X1, X2, X3) U12^1(X1, mark(X2), X3) -> U12^1(X1, X2, X3) U12^1(X1, X2, mark(X3)) -> U12^1(X1, X2, X3) U12^1(active(X1), X2, X3) -> U12^1(X1, X2, X3) U12^1(X1, active(X2), X3) -> U12^1(X1, X2, X3) U12^1(X1, X2, active(X3)) -> U12^1(X1, X2, X3) U13^1(mark(X1), X2, X3) -> U13^1(X1, X2, X3) U13^1(X1, mark(X2), X3) -> U13^1(X1, X2, X3) U13^1(X1, X2, mark(X3)) -> U13^1(X1, X2, X3) U13^1(active(X1), X2, X3) -> U13^1(X1, X2, X3) U13^1(X1, active(X2), X3) -> U13^1(X1, X2, X3) U13^1(X1, X2, active(X3)) -> U13^1(X1, X2, X3) U14^1(mark(X1), X2, X3) -> U14^1(X1, X2, X3) U14^1(X1, mark(X2), X3) -> U14^1(X1, X2, X3) U14^1(X1, X2, mark(X3)) -> U14^1(X1, X2, X3) U14^1(active(X1), X2, X3) -> U14^1(X1, X2, X3) U14^1(X1, active(X2), X3) -> U14^1(X1, X2, X3) U14^1(X1, X2, active(X3)) -> U14^1(X1, X2, X3) U15^1(mark(X1), X2) -> U15^1(X1, X2) U15^1(X1, mark(X2)) -> U15^1(X1, X2) U15^1(active(X1), X2) -> U15^1(X1, X2) U15^1(X1, active(X2)) -> U15^1(X1, X2) U16^1(mark(X)) -> U16^1(X) U16^1(active(X)) -> U16^1(X) U21^1(mark(X1), X2) -> U21^1(X1, X2) U21^1(X1, mark(X2)) -> U21^1(X1, X2) U21^1(active(X1), X2) -> U21^1(X1, X2) U21^1(X1, active(X2)) -> U21^1(X1, X2) U22^1(mark(X1), X2) -> U22^1(X1, X2) U22^1(X1, mark(X2)) -> U22^1(X1, X2) U22^1(active(X1), X2) -> U22^1(X1, X2) U22^1(X1, active(X2)) -> U22^1(X1, X2) U23^1(mark(X)) -> U23^1(X) U23^1(active(X)) -> U23^1(X) U31^1(mark(X1), X2, X3) -> U31^1(X1, X2, X3) U31^1(X1, mark(X2), X3) -> U31^1(X1, X2, X3) U31^1(X1, X2, mark(X3)) -> U31^1(X1, X2, X3) U31^1(active(X1), X2, X3) -> U31^1(X1, X2, X3) U31^1(X1, active(X2), X3) -> U31^1(X1, X2, X3) U31^1(X1, X2, active(X3)) -> U31^1(X1, X2, X3) U32^1(mark(X1), X2, X3) -> U32^1(X1, X2, X3) U32^1(X1, mark(X2), X3) -> U32^1(X1, X2, X3) U32^1(X1, X2, mark(X3)) -> U32^1(X1, X2, X3) U32^1(active(X1), X2, X3) -> U32^1(X1, X2, X3) U32^1(X1, active(X2), X3) -> U32^1(X1, X2, X3) U32^1(X1, X2, active(X3)) -> U32^1(X1, X2, X3) U33^1(mark(X1), X2, X3) -> U33^1(X1, X2, X3) U33^1(X1, mark(X2), X3) -> U33^1(X1, X2, X3) U33^1(X1, X2, mark(X3)) -> U33^1(X1, X2, X3) U33^1(active(X1), X2, X3) -> U33^1(X1, X2, X3) U33^1(X1, active(X2), X3) -> U33^1(X1, X2, X3) U33^1(X1, X2, active(X3)) -> U33^1(X1, X2, X3) U34^1(mark(X1), X2, X3) -> U34^1(X1, X2, X3) U34^1(X1, mark(X2), X3) -> U34^1(X1, X2, X3) U34^1(X1, X2, mark(X3)) -> U34^1(X1, X2, X3) U34^1(active(X1), X2, X3) -> U34^1(X1, X2, X3) U34^1(X1, active(X2), X3) -> U34^1(X1, X2, X3) U34^1(X1, X2, active(X3)) -> U34^1(X1, X2, X3) U35^1(mark(X1), X2) -> U35^1(X1, X2) U35^1(X1, mark(X2)) -> U35^1(X1, X2) U35^1(active(X1), X2) -> U35^1(X1, X2) U35^1(X1, active(X2)) -> U35^1(X1, X2) U36^1(mark(X)) -> U36^1(X) U36^1(active(X)) -> U36^1(X) U41^1(mark(X1), X2) -> U41^1(X1, X2) U41^1(X1, mark(X2)) -> U41^1(X1, X2) U41^1(active(X1), X2) -> U41^1(X1, X2) U41^1(X1, active(X2)) -> U41^1(X1, X2) U42^1(mark(X)) -> U42^1(X) U42^1(active(X)) -> U42^1(X) U51^1(mark(X)) -> U51^1(X) U51^1(active(X)) -> U51^1(X) U61^1(mark(X1), X2) -> U61^1(X1, X2) U61^1(X1, mark(X2)) -> U61^1(X1, X2) U61^1(active(X1), X2) -> U61^1(X1, X2) U61^1(X1, active(X2)) -> U61^1(X1, X2) U62^1(mark(X)) -> U62^1(X) U62^1(active(X)) -> U62^1(X) U71^1(mark(X1), X2) -> U71^1(X1, X2) U71^1(X1, mark(X2)) -> U71^1(X1, X2) U71^1(active(X1), X2) -> U71^1(X1, X2) U71^1(X1, active(X2)) -> U71^1(X1, X2) U72^1(mark(X1), X2) -> U72^1(X1, X2) U72^1(X1, mark(X2)) -> U72^1(X1, X2) U72^1(active(X1), X2) -> U72^1(X1, X2) U72^1(X1, active(X2)) -> U72^1(X1, X2) U81^1(mark(X1), X2, X3) -> U81^1(X1, X2, X3) U81^1(X1, mark(X2), X3) -> U81^1(X1, X2, X3) U81^1(X1, X2, mark(X3)) -> U81^1(X1, X2, X3) U81^1(active(X1), X2, X3) -> U81^1(X1, X2, X3) U81^1(X1, active(X2), X3) -> U81^1(X1, X2, X3) U81^1(X1, X2, active(X3)) -> U81^1(X1, X2, X3) U82^1(mark(X1), X2, X3) -> U82^1(X1, X2, X3) U82^1(X1, mark(X2), X3) -> U82^1(X1, X2, X3) U82^1(X1, X2, mark(X3)) -> U82^1(X1, X2, X3) U82^1(active(X1), X2, X3) -> U82^1(X1, X2, X3) U82^1(X1, active(X2), X3) -> U82^1(X1, X2, X3) U82^1(X1, X2, active(X3)) -> U82^1(X1, X2, X3) U83^1(mark(X1), X2, X3) -> U83^1(X1, X2, X3) U83^1(X1, mark(X2), X3) -> U83^1(X1, X2, X3) U83^1(X1, X2, mark(X3)) -> U83^1(X1, X2, X3) U83^1(active(X1), X2, X3) -> U83^1(X1, X2, X3) U83^1(X1, active(X2), X3) -> U83^1(X1, X2, X3) U83^1(X1, X2, active(X3)) -> U83^1(X1, X2, X3) U84^1(mark(X1), X2, X3) -> U84^1(X1, X2, X3) U84^1(X1, mark(X2), X3) -> U84^1(X1, X2, X3) U84^1(X1, X2, mark(X3)) -> U84^1(X1, X2, X3) U84^1(active(X1), X2, X3) -> U84^1(X1, X2, X3) U84^1(X1, active(X2), X3) -> U84^1(X1, X2, X3) U84^1(X1, X2, active(X3)) -> U84^1(X1, X2, X3) S(mark(X)) -> S(X) S(active(X)) -> S(X) U91^1(mark(X1), X2) -> U91^1(X1, X2) U91^1(X1, mark(X2)) -> U91^1(X1, X2) U91^1(active(X1), X2) -> U91^1(X1, X2) U91^1(X1, active(X2)) -> U91^1(X1, X2) U92^1(mark(X)) -> U92^1(X) U92^1(active(X)) -> U92^1(X) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (3) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 38 SCCs with 114 less nodes. ---------------------------------------- (4) Complex Obligation (AND) ---------------------------------------- (5) Obligation: Q DP problem: The TRS P consists of the following rules: U92^1(active(X)) -> U92^1(X) U92^1(mark(X)) -> U92^1(X) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (6) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (7) Obligation: Q DP problem: The TRS P consists of the following rules: U92^1(active(X)) -> U92^1(X) U92^1(mark(X)) -> U92^1(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (8) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (9) Obligation: Q DP problem: The TRS P consists of the following rules: U92^1(active(X)) -> U92^1(X) U92^1(mark(X)) -> U92^1(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (10) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U92^1(active(X)) -> U92^1(X) The graph contains the following edges 1 > 1 *U92^1(mark(X)) -> U92^1(X) The graph contains the following edges 1 > 1 ---------------------------------------- (11) YES ---------------------------------------- (12) Obligation: Q DP problem: The TRS P consists of the following rules: U91^1(X1, mark(X2)) -> U91^1(X1, X2) U91^1(mark(X1), X2) -> U91^1(X1, X2) U91^1(active(X1), X2) -> U91^1(X1, X2) U91^1(X1, active(X2)) -> U91^1(X1, X2) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (13) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (14) Obligation: Q DP problem: The TRS P consists of the following rules: U91^1(X1, mark(X2)) -> U91^1(X1, X2) U91^1(mark(X1), X2) -> U91^1(X1, X2) U91^1(active(X1), X2) -> U91^1(X1, X2) U91^1(X1, active(X2)) -> U91^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (15) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: U91^1(X1, mark(X2)) -> U91^1(X1, X2) U91^1(mark(X1), X2) -> U91^1(X1, X2) U91^1(active(X1), X2) -> U91^1(X1, X2) U91^1(X1, active(X2)) -> U91^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U91^1(X1, mark(X2)) -> U91^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 *U91^1(mark(X1), X2) -> U91^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U91^1(active(X1), X2) -> U91^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U91^1(X1, active(X2)) -> U91^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 ---------------------------------------- (18) YES ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: S(active(X)) -> S(X) S(mark(X)) -> S(X) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (20) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (21) Obligation: Q DP problem: The TRS P consists of the following rules: S(active(X)) -> S(X) S(mark(X)) -> S(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (22) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (23) Obligation: Q DP problem: The TRS P consists of the following rules: S(active(X)) -> S(X) S(mark(X)) -> S(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (24) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *S(active(X)) -> S(X) The graph contains the following edges 1 > 1 *S(mark(X)) -> S(X) The graph contains the following edges 1 > 1 ---------------------------------------- (25) YES ---------------------------------------- (26) Obligation: Q DP problem: The TRS P consists of the following rules: U84^1(X1, mark(X2), X3) -> U84^1(X1, X2, X3) U84^1(mark(X1), X2, X3) -> U84^1(X1, X2, X3) U84^1(X1, X2, mark(X3)) -> U84^1(X1, X2, X3) U84^1(active(X1), X2, X3) -> U84^1(X1, X2, X3) U84^1(X1, active(X2), X3) -> U84^1(X1, X2, X3) U84^1(X1, X2, active(X3)) -> U84^1(X1, X2, X3) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (27) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (28) Obligation: Q DP problem: The TRS P consists of the following rules: U84^1(X1, mark(X2), X3) -> U84^1(X1, X2, X3) U84^1(mark(X1), X2, X3) -> U84^1(X1, X2, X3) U84^1(X1, X2, mark(X3)) -> U84^1(X1, X2, X3) U84^1(active(X1), X2, X3) -> U84^1(X1, X2, X3) U84^1(X1, active(X2), X3) -> U84^1(X1, X2, X3) U84^1(X1, X2, active(X3)) -> U84^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (29) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (30) Obligation: Q DP problem: The TRS P consists of the following rules: U84^1(X1, mark(X2), X3) -> U84^1(X1, X2, X3) U84^1(mark(X1), X2, X3) -> U84^1(X1, X2, X3) U84^1(X1, X2, mark(X3)) -> U84^1(X1, X2, X3) U84^1(active(X1), X2, X3) -> U84^1(X1, X2, X3) U84^1(X1, active(X2), X3) -> U84^1(X1, X2, X3) U84^1(X1, X2, active(X3)) -> U84^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (31) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U84^1(X1, mark(X2), X3) -> U84^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U84^1(mark(X1), X2, X3) -> U84^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U84^1(X1, X2, mark(X3)) -> U84^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 *U84^1(active(X1), X2, X3) -> U84^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U84^1(X1, active(X2), X3) -> U84^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U84^1(X1, X2, active(X3)) -> U84^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 ---------------------------------------- (32) YES ---------------------------------------- (33) Obligation: Q DP problem: The TRS P consists of the following rules: U83^1(X1, mark(X2), X3) -> U83^1(X1, X2, X3) U83^1(mark(X1), X2, X3) -> U83^1(X1, X2, X3) U83^1(X1, X2, mark(X3)) -> U83^1(X1, X2, X3) U83^1(active(X1), X2, X3) -> U83^1(X1, X2, X3) U83^1(X1, active(X2), X3) -> U83^1(X1, X2, X3) U83^1(X1, X2, active(X3)) -> U83^1(X1, X2, X3) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (34) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (35) Obligation: Q DP problem: The TRS P consists of the following rules: U83^1(X1, mark(X2), X3) -> U83^1(X1, X2, X3) U83^1(mark(X1), X2, X3) -> U83^1(X1, X2, X3) U83^1(X1, X2, mark(X3)) -> U83^1(X1, X2, X3) U83^1(active(X1), X2, X3) -> U83^1(X1, X2, X3) U83^1(X1, active(X2), X3) -> U83^1(X1, X2, X3) U83^1(X1, X2, active(X3)) -> U83^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (36) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (37) Obligation: Q DP problem: The TRS P consists of the following rules: U83^1(X1, mark(X2), X3) -> U83^1(X1, X2, X3) U83^1(mark(X1), X2, X3) -> U83^1(X1, X2, X3) U83^1(X1, X2, mark(X3)) -> U83^1(X1, X2, X3) U83^1(active(X1), X2, X3) -> U83^1(X1, X2, X3) U83^1(X1, active(X2), X3) -> U83^1(X1, X2, X3) U83^1(X1, X2, active(X3)) -> U83^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (38) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U83^1(X1, mark(X2), X3) -> U83^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U83^1(mark(X1), X2, X3) -> U83^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U83^1(X1, X2, mark(X3)) -> U83^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 *U83^1(active(X1), X2, X3) -> U83^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U83^1(X1, active(X2), X3) -> U83^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U83^1(X1, X2, active(X3)) -> U83^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 ---------------------------------------- (39) YES ---------------------------------------- (40) Obligation: Q DP problem: The TRS P consists of the following rules: U82^1(X1, mark(X2), X3) -> U82^1(X1, X2, X3) U82^1(mark(X1), X2, X3) -> U82^1(X1, X2, X3) U82^1(X1, X2, mark(X3)) -> U82^1(X1, X2, X3) U82^1(active(X1), X2, X3) -> U82^1(X1, X2, X3) U82^1(X1, active(X2), X3) -> U82^1(X1, X2, X3) U82^1(X1, X2, active(X3)) -> U82^1(X1, X2, X3) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (41) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (42) Obligation: Q DP problem: The TRS P consists of the following rules: U82^1(X1, mark(X2), X3) -> U82^1(X1, X2, X3) U82^1(mark(X1), X2, X3) -> U82^1(X1, X2, X3) U82^1(X1, X2, mark(X3)) -> U82^1(X1, X2, X3) U82^1(active(X1), X2, X3) -> U82^1(X1, X2, X3) U82^1(X1, active(X2), X3) -> U82^1(X1, X2, X3) U82^1(X1, X2, active(X3)) -> U82^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (43) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (44) Obligation: Q DP problem: The TRS P consists of the following rules: U82^1(X1, mark(X2), X3) -> U82^1(X1, X2, X3) U82^1(mark(X1), X2, X3) -> U82^1(X1, X2, X3) U82^1(X1, X2, mark(X3)) -> U82^1(X1, X2, X3) U82^1(active(X1), X2, X3) -> U82^1(X1, X2, X3) U82^1(X1, active(X2), X3) -> U82^1(X1, X2, X3) U82^1(X1, X2, active(X3)) -> U82^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (45) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U82^1(X1, mark(X2), X3) -> U82^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U82^1(mark(X1), X2, X3) -> U82^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U82^1(X1, X2, mark(X3)) -> U82^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 *U82^1(active(X1), X2, X3) -> U82^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U82^1(X1, active(X2), X3) -> U82^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U82^1(X1, X2, active(X3)) -> U82^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 ---------------------------------------- (46) YES ---------------------------------------- (47) Obligation: Q DP problem: The TRS P consists of the following rules: U81^1(X1, mark(X2), X3) -> U81^1(X1, X2, X3) U81^1(mark(X1), X2, X3) -> U81^1(X1, X2, X3) U81^1(X1, X2, mark(X3)) -> U81^1(X1, X2, X3) U81^1(active(X1), X2, X3) -> U81^1(X1, X2, X3) U81^1(X1, active(X2), X3) -> U81^1(X1, X2, X3) U81^1(X1, X2, active(X3)) -> U81^1(X1, X2, X3) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (48) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (49) Obligation: Q DP problem: The TRS P consists of the following rules: U81^1(X1, mark(X2), X3) -> U81^1(X1, X2, X3) U81^1(mark(X1), X2, X3) -> U81^1(X1, X2, X3) U81^1(X1, X2, mark(X3)) -> U81^1(X1, X2, X3) U81^1(active(X1), X2, X3) -> U81^1(X1, X2, X3) U81^1(X1, active(X2), X3) -> U81^1(X1, X2, X3) U81^1(X1, X2, active(X3)) -> U81^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (50) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (51) Obligation: Q DP problem: The TRS P consists of the following rules: U81^1(X1, mark(X2), X3) -> U81^1(X1, X2, X3) U81^1(mark(X1), X2, X3) -> U81^1(X1, X2, X3) U81^1(X1, X2, mark(X3)) -> U81^1(X1, X2, X3) U81^1(active(X1), X2, X3) -> U81^1(X1, X2, X3) U81^1(X1, active(X2), X3) -> U81^1(X1, X2, X3) U81^1(X1, X2, active(X3)) -> U81^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (52) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U81^1(X1, mark(X2), X3) -> U81^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U81^1(mark(X1), X2, X3) -> U81^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U81^1(X1, X2, mark(X3)) -> U81^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 *U81^1(active(X1), X2, X3) -> U81^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U81^1(X1, active(X2), X3) -> U81^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U81^1(X1, X2, active(X3)) -> U81^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 ---------------------------------------- (53) YES ---------------------------------------- (54) Obligation: Q DP problem: The TRS P consists of the following rules: U72^1(X1, mark(X2)) -> U72^1(X1, X2) U72^1(mark(X1), X2) -> U72^1(X1, X2) U72^1(active(X1), X2) -> U72^1(X1, X2) U72^1(X1, active(X2)) -> U72^1(X1, X2) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (55) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (56) Obligation: Q DP problem: The TRS P consists of the following rules: U72^1(X1, mark(X2)) -> U72^1(X1, X2) U72^1(mark(X1), X2) -> U72^1(X1, X2) U72^1(active(X1), X2) -> U72^1(X1, X2) U72^1(X1, active(X2)) -> U72^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (57) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (58) Obligation: Q DP problem: The TRS P consists of the following rules: U72^1(X1, mark(X2)) -> U72^1(X1, X2) U72^1(mark(X1), X2) -> U72^1(X1, X2) U72^1(active(X1), X2) -> U72^1(X1, X2) U72^1(X1, active(X2)) -> U72^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (59) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U72^1(X1, mark(X2)) -> U72^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 *U72^1(mark(X1), X2) -> U72^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U72^1(active(X1), X2) -> U72^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U72^1(X1, active(X2)) -> U72^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 ---------------------------------------- (60) YES ---------------------------------------- (61) Obligation: Q DP problem: The TRS P consists of the following rules: U71^1(X1, mark(X2)) -> U71^1(X1, X2) U71^1(mark(X1), X2) -> U71^1(X1, X2) U71^1(active(X1), X2) -> U71^1(X1, X2) U71^1(X1, active(X2)) -> U71^1(X1, X2) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (62) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (63) Obligation: Q DP problem: The TRS P consists of the following rules: U71^1(X1, mark(X2)) -> U71^1(X1, X2) U71^1(mark(X1), X2) -> U71^1(X1, X2) U71^1(active(X1), X2) -> U71^1(X1, X2) U71^1(X1, active(X2)) -> U71^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (64) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (65) Obligation: Q DP problem: The TRS P consists of the following rules: U71^1(X1, mark(X2)) -> U71^1(X1, X2) U71^1(mark(X1), X2) -> U71^1(X1, X2) U71^1(active(X1), X2) -> U71^1(X1, X2) U71^1(X1, active(X2)) -> U71^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (66) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U71^1(X1, mark(X2)) -> U71^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 *U71^1(mark(X1), X2) -> U71^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U71^1(active(X1), X2) -> U71^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U71^1(X1, active(X2)) -> U71^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 ---------------------------------------- (67) YES ---------------------------------------- (68) Obligation: Q DP problem: The TRS P consists of the following rules: U62^1(active(X)) -> U62^1(X) U62^1(mark(X)) -> U62^1(X) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (69) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (70) Obligation: Q DP problem: The TRS P consists of the following rules: U62^1(active(X)) -> U62^1(X) U62^1(mark(X)) -> U62^1(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (71) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (72) Obligation: Q DP problem: The TRS P consists of the following rules: U62^1(active(X)) -> U62^1(X) U62^1(mark(X)) -> U62^1(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (73) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U62^1(active(X)) -> U62^1(X) The graph contains the following edges 1 > 1 *U62^1(mark(X)) -> U62^1(X) The graph contains the following edges 1 > 1 ---------------------------------------- (74) YES ---------------------------------------- (75) Obligation: Q DP problem: The TRS P consists of the following rules: U61^1(X1, mark(X2)) -> U61^1(X1, X2) U61^1(mark(X1), X2) -> U61^1(X1, X2) U61^1(active(X1), X2) -> U61^1(X1, X2) U61^1(X1, active(X2)) -> U61^1(X1, X2) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (76) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (77) Obligation: Q DP problem: The TRS P consists of the following rules: U61^1(X1, mark(X2)) -> U61^1(X1, X2) U61^1(mark(X1), X2) -> U61^1(X1, X2) U61^1(active(X1), X2) -> U61^1(X1, X2) U61^1(X1, active(X2)) -> U61^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (78) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (79) Obligation: Q DP problem: The TRS P consists of the following rules: U61^1(X1, mark(X2)) -> U61^1(X1, X2) U61^1(mark(X1), X2) -> U61^1(X1, X2) U61^1(active(X1), X2) -> U61^1(X1, X2) U61^1(X1, active(X2)) -> U61^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (80) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U61^1(X1, mark(X2)) -> U61^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 *U61^1(mark(X1), X2) -> U61^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U61^1(active(X1), X2) -> U61^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U61^1(X1, active(X2)) -> U61^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 ---------------------------------------- (81) YES ---------------------------------------- (82) Obligation: Q DP problem: The TRS P consists of the following rules: U51^1(active(X)) -> U51^1(X) U51^1(mark(X)) -> U51^1(X) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (83) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (84) Obligation: Q DP problem: The TRS P consists of the following rules: U51^1(active(X)) -> U51^1(X) U51^1(mark(X)) -> U51^1(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (85) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (86) Obligation: Q DP problem: The TRS P consists of the following rules: U51^1(active(X)) -> U51^1(X) U51^1(mark(X)) -> U51^1(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (87) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U51^1(active(X)) -> U51^1(X) The graph contains the following edges 1 > 1 *U51^1(mark(X)) -> U51^1(X) The graph contains the following edges 1 > 1 ---------------------------------------- (88) YES ---------------------------------------- (89) Obligation: Q DP problem: The TRS P consists of the following rules: U42^1(active(X)) -> U42^1(X) U42^1(mark(X)) -> U42^1(X) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (90) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (91) Obligation: Q DP problem: The TRS P consists of the following rules: U42^1(active(X)) -> U42^1(X) U42^1(mark(X)) -> U42^1(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (92) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (93) Obligation: Q DP problem: The TRS P consists of the following rules: U42^1(active(X)) -> U42^1(X) U42^1(mark(X)) -> U42^1(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (94) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U42^1(active(X)) -> U42^1(X) The graph contains the following edges 1 > 1 *U42^1(mark(X)) -> U42^1(X) The graph contains the following edges 1 > 1 ---------------------------------------- (95) YES ---------------------------------------- (96) Obligation: Q DP problem: The TRS P consists of the following rules: U41^1(X1, mark(X2)) -> U41^1(X1, X2) U41^1(mark(X1), X2) -> U41^1(X1, X2) U41^1(active(X1), X2) -> U41^1(X1, X2) U41^1(X1, active(X2)) -> U41^1(X1, X2) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (97) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (98) Obligation: Q DP problem: The TRS P consists of the following rules: U41^1(X1, mark(X2)) -> U41^1(X1, X2) U41^1(mark(X1), X2) -> U41^1(X1, X2) U41^1(active(X1), X2) -> U41^1(X1, X2) U41^1(X1, active(X2)) -> U41^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (99) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (100) Obligation: Q DP problem: The TRS P consists of the following rules: U41^1(X1, mark(X2)) -> U41^1(X1, X2) U41^1(mark(X1), X2) -> U41^1(X1, X2) U41^1(active(X1), X2) -> U41^1(X1, X2) U41^1(X1, active(X2)) -> U41^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (101) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U41^1(X1, mark(X2)) -> U41^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 *U41^1(mark(X1), X2) -> U41^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U41^1(active(X1), X2) -> U41^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U41^1(X1, active(X2)) -> U41^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 ---------------------------------------- (102) YES ---------------------------------------- (103) Obligation: Q DP problem: The TRS P consists of the following rules: U36^1(active(X)) -> U36^1(X) U36^1(mark(X)) -> U36^1(X) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (104) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (105) Obligation: Q DP problem: The TRS P consists of the following rules: U36^1(active(X)) -> U36^1(X) U36^1(mark(X)) -> U36^1(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (106) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (107) Obligation: Q DP problem: The TRS P consists of the following rules: U36^1(active(X)) -> U36^1(X) U36^1(mark(X)) -> U36^1(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (108) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U36^1(active(X)) -> U36^1(X) The graph contains the following edges 1 > 1 *U36^1(mark(X)) -> U36^1(X) The graph contains the following edges 1 > 1 ---------------------------------------- (109) YES ---------------------------------------- (110) Obligation: Q DP problem: The TRS P consists of the following rules: U35^1(X1, mark(X2)) -> U35^1(X1, X2) U35^1(mark(X1), X2) -> U35^1(X1, X2) U35^1(active(X1), X2) -> U35^1(X1, X2) U35^1(X1, active(X2)) -> U35^1(X1, X2) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (111) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (112) Obligation: Q DP problem: The TRS P consists of the following rules: U35^1(X1, mark(X2)) -> U35^1(X1, X2) U35^1(mark(X1), X2) -> U35^1(X1, X2) U35^1(active(X1), X2) -> U35^1(X1, X2) U35^1(X1, active(X2)) -> U35^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (113) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (114) Obligation: Q DP problem: The TRS P consists of the following rules: U35^1(X1, mark(X2)) -> U35^1(X1, X2) U35^1(mark(X1), X2) -> U35^1(X1, X2) U35^1(active(X1), X2) -> U35^1(X1, X2) U35^1(X1, active(X2)) -> U35^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (115) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U35^1(X1, mark(X2)) -> U35^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 *U35^1(mark(X1), X2) -> U35^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U35^1(active(X1), X2) -> U35^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U35^1(X1, active(X2)) -> U35^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 ---------------------------------------- (116) YES ---------------------------------------- (117) Obligation: Q DP problem: The TRS P consists of the following rules: U34^1(X1, mark(X2), X3) -> U34^1(X1, X2, X3) U34^1(mark(X1), X2, X3) -> U34^1(X1, X2, X3) U34^1(X1, X2, mark(X3)) -> U34^1(X1, X2, X3) U34^1(active(X1), X2, X3) -> U34^1(X1, X2, X3) U34^1(X1, active(X2), X3) -> U34^1(X1, X2, X3) U34^1(X1, X2, active(X3)) -> U34^1(X1, X2, X3) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (118) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (119) Obligation: Q DP problem: The TRS P consists of the following rules: U34^1(X1, mark(X2), X3) -> U34^1(X1, X2, X3) U34^1(mark(X1), X2, X3) -> U34^1(X1, X2, X3) U34^1(X1, X2, mark(X3)) -> U34^1(X1, X2, X3) U34^1(active(X1), X2, X3) -> U34^1(X1, X2, X3) U34^1(X1, active(X2), X3) -> U34^1(X1, X2, X3) U34^1(X1, X2, active(X3)) -> U34^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (120) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (121) Obligation: Q DP problem: The TRS P consists of the following rules: U34^1(X1, mark(X2), X3) -> U34^1(X1, X2, X3) U34^1(mark(X1), X2, X3) -> U34^1(X1, X2, X3) U34^1(X1, X2, mark(X3)) -> U34^1(X1, X2, X3) U34^1(active(X1), X2, X3) -> U34^1(X1, X2, X3) U34^1(X1, active(X2), X3) -> U34^1(X1, X2, X3) U34^1(X1, X2, active(X3)) -> U34^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (122) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U34^1(X1, mark(X2), X3) -> U34^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U34^1(mark(X1), X2, X3) -> U34^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U34^1(X1, X2, mark(X3)) -> U34^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 *U34^1(active(X1), X2, X3) -> U34^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U34^1(X1, active(X2), X3) -> U34^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U34^1(X1, X2, active(X3)) -> U34^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 ---------------------------------------- (123) YES ---------------------------------------- (124) Obligation: Q DP problem: The TRS P consists of the following rules: U33^1(X1, mark(X2), X3) -> U33^1(X1, X2, X3) U33^1(mark(X1), X2, X3) -> U33^1(X1, X2, X3) U33^1(X1, X2, mark(X3)) -> U33^1(X1, X2, X3) U33^1(active(X1), X2, X3) -> U33^1(X1, X2, X3) U33^1(X1, active(X2), X3) -> U33^1(X1, X2, X3) U33^1(X1, X2, active(X3)) -> U33^1(X1, X2, X3) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (125) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (126) Obligation: Q DP problem: The TRS P consists of the following rules: U33^1(X1, mark(X2), X3) -> U33^1(X1, X2, X3) U33^1(mark(X1), X2, X3) -> U33^1(X1, X2, X3) U33^1(X1, X2, mark(X3)) -> U33^1(X1, X2, X3) U33^1(active(X1), X2, X3) -> U33^1(X1, X2, X3) U33^1(X1, active(X2), X3) -> U33^1(X1, X2, X3) U33^1(X1, X2, active(X3)) -> U33^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (127) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (128) Obligation: Q DP problem: The TRS P consists of the following rules: U33^1(X1, mark(X2), X3) -> U33^1(X1, X2, X3) U33^1(mark(X1), X2, X3) -> U33^1(X1, X2, X3) U33^1(X1, X2, mark(X3)) -> U33^1(X1, X2, X3) U33^1(active(X1), X2, X3) -> U33^1(X1, X2, X3) U33^1(X1, active(X2), X3) -> U33^1(X1, X2, X3) U33^1(X1, X2, active(X3)) -> U33^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (129) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U33^1(X1, mark(X2), X3) -> U33^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U33^1(mark(X1), X2, X3) -> U33^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U33^1(X1, X2, mark(X3)) -> U33^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 *U33^1(active(X1), X2, X3) -> U33^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U33^1(X1, active(X2), X3) -> U33^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U33^1(X1, X2, active(X3)) -> U33^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 ---------------------------------------- (130) YES ---------------------------------------- (131) Obligation: Q DP problem: The TRS P consists of the following rules: U32^1(X1, mark(X2), X3) -> U32^1(X1, X2, X3) U32^1(mark(X1), X2, X3) -> U32^1(X1, X2, X3) U32^1(X1, X2, mark(X3)) -> U32^1(X1, X2, X3) U32^1(active(X1), X2, X3) -> U32^1(X1, X2, X3) U32^1(X1, active(X2), X3) -> U32^1(X1, X2, X3) U32^1(X1, X2, active(X3)) -> U32^1(X1, X2, X3) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (132) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (133) Obligation: Q DP problem: The TRS P consists of the following rules: U32^1(X1, mark(X2), X3) -> U32^1(X1, X2, X3) U32^1(mark(X1), X2, X3) -> U32^1(X1, X2, X3) U32^1(X1, X2, mark(X3)) -> U32^1(X1, X2, X3) U32^1(active(X1), X2, X3) -> U32^1(X1, X2, X3) U32^1(X1, active(X2), X3) -> U32^1(X1, X2, X3) U32^1(X1, X2, active(X3)) -> U32^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (134) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (135) Obligation: Q DP problem: The TRS P consists of the following rules: U32^1(X1, mark(X2), X3) -> U32^1(X1, X2, X3) U32^1(mark(X1), X2, X3) -> U32^1(X1, X2, X3) U32^1(X1, X2, mark(X3)) -> U32^1(X1, X2, X3) U32^1(active(X1), X2, X3) -> U32^1(X1, X2, X3) U32^1(X1, active(X2), X3) -> U32^1(X1, X2, X3) U32^1(X1, X2, active(X3)) -> U32^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (136) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U32^1(X1, mark(X2), X3) -> U32^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U32^1(mark(X1), X2, X3) -> U32^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U32^1(X1, X2, mark(X3)) -> U32^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 *U32^1(active(X1), X2, X3) -> U32^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U32^1(X1, active(X2), X3) -> U32^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U32^1(X1, X2, active(X3)) -> U32^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 ---------------------------------------- (137) YES ---------------------------------------- (138) Obligation: Q DP problem: The TRS P consists of the following rules: U31^1(X1, mark(X2), X3) -> U31^1(X1, X2, X3) U31^1(mark(X1), X2, X3) -> U31^1(X1, X2, X3) U31^1(X1, X2, mark(X3)) -> U31^1(X1, X2, X3) U31^1(active(X1), X2, X3) -> U31^1(X1, X2, X3) U31^1(X1, active(X2), X3) -> U31^1(X1, X2, X3) U31^1(X1, X2, active(X3)) -> U31^1(X1, X2, X3) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (139) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (140) Obligation: Q DP problem: The TRS P consists of the following rules: U31^1(X1, mark(X2), X3) -> U31^1(X1, X2, X3) U31^1(mark(X1), X2, X3) -> U31^1(X1, X2, X3) U31^1(X1, X2, mark(X3)) -> U31^1(X1, X2, X3) U31^1(active(X1), X2, X3) -> U31^1(X1, X2, X3) U31^1(X1, active(X2), X3) -> U31^1(X1, X2, X3) U31^1(X1, X2, active(X3)) -> U31^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (141) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (142) Obligation: Q DP problem: The TRS P consists of the following rules: U31^1(X1, mark(X2), X3) -> U31^1(X1, X2, X3) U31^1(mark(X1), X2, X3) -> U31^1(X1, X2, X3) U31^1(X1, X2, mark(X3)) -> U31^1(X1, X2, X3) U31^1(active(X1), X2, X3) -> U31^1(X1, X2, X3) U31^1(X1, active(X2), X3) -> U31^1(X1, X2, X3) U31^1(X1, X2, active(X3)) -> U31^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (143) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U31^1(X1, mark(X2), X3) -> U31^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U31^1(mark(X1), X2, X3) -> U31^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U31^1(X1, X2, mark(X3)) -> U31^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 *U31^1(active(X1), X2, X3) -> U31^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U31^1(X1, active(X2), X3) -> U31^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U31^1(X1, X2, active(X3)) -> U31^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 ---------------------------------------- (144) YES ---------------------------------------- (145) Obligation: Q DP problem: The TRS P consists of the following rules: U23^1(active(X)) -> U23^1(X) U23^1(mark(X)) -> U23^1(X) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (146) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (147) Obligation: Q DP problem: The TRS P consists of the following rules: U23^1(active(X)) -> U23^1(X) U23^1(mark(X)) -> U23^1(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (148) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (149) Obligation: Q DP problem: The TRS P consists of the following rules: U23^1(active(X)) -> U23^1(X) U23^1(mark(X)) -> U23^1(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (150) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U23^1(active(X)) -> U23^1(X) The graph contains the following edges 1 > 1 *U23^1(mark(X)) -> U23^1(X) The graph contains the following edges 1 > 1 ---------------------------------------- (151) YES ---------------------------------------- (152) Obligation: Q DP problem: The TRS P consists of the following rules: U22^1(X1, mark(X2)) -> U22^1(X1, X2) U22^1(mark(X1), X2) -> U22^1(X1, X2) U22^1(active(X1), X2) -> U22^1(X1, X2) U22^1(X1, active(X2)) -> U22^1(X1, X2) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (153) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (154) Obligation: Q DP problem: The TRS P consists of the following rules: U22^1(X1, mark(X2)) -> U22^1(X1, X2) U22^1(mark(X1), X2) -> U22^1(X1, X2) U22^1(active(X1), X2) -> U22^1(X1, X2) U22^1(X1, active(X2)) -> U22^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (155) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (156) Obligation: Q DP problem: The TRS P consists of the following rules: U22^1(X1, mark(X2)) -> U22^1(X1, X2) U22^1(mark(X1), X2) -> U22^1(X1, X2) U22^1(active(X1), X2) -> U22^1(X1, X2) U22^1(X1, active(X2)) -> U22^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (157) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U22^1(X1, mark(X2)) -> U22^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 *U22^1(mark(X1), X2) -> U22^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U22^1(active(X1), X2) -> U22^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U22^1(X1, active(X2)) -> U22^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 ---------------------------------------- (158) YES ---------------------------------------- (159) Obligation: Q DP problem: The TRS P consists of the following rules: U21^1(X1, mark(X2)) -> U21^1(X1, X2) U21^1(mark(X1), X2) -> U21^1(X1, X2) U21^1(active(X1), X2) -> U21^1(X1, X2) U21^1(X1, active(X2)) -> U21^1(X1, X2) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (160) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (161) Obligation: Q DP problem: The TRS P consists of the following rules: U21^1(X1, mark(X2)) -> U21^1(X1, X2) U21^1(mark(X1), X2) -> U21^1(X1, X2) U21^1(active(X1), X2) -> U21^1(X1, X2) U21^1(X1, active(X2)) -> U21^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (162) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (163) Obligation: Q DP problem: The TRS P consists of the following rules: U21^1(X1, mark(X2)) -> U21^1(X1, X2) U21^1(mark(X1), X2) -> U21^1(X1, X2) U21^1(active(X1), X2) -> U21^1(X1, X2) U21^1(X1, active(X2)) -> U21^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (164) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U21^1(X1, mark(X2)) -> U21^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 *U21^1(mark(X1), X2) -> U21^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U21^1(active(X1), X2) -> U21^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U21^1(X1, active(X2)) -> U21^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 ---------------------------------------- (165) YES ---------------------------------------- (166) Obligation: Q DP problem: The TRS P consists of the following rules: U16^1(active(X)) -> U16^1(X) U16^1(mark(X)) -> U16^1(X) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (167) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (168) Obligation: Q DP problem: The TRS P consists of the following rules: U16^1(active(X)) -> U16^1(X) U16^1(mark(X)) -> U16^1(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (169) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (170) Obligation: Q DP problem: The TRS P consists of the following rules: U16^1(active(X)) -> U16^1(X) U16^1(mark(X)) -> U16^1(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (171) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U16^1(active(X)) -> U16^1(X) The graph contains the following edges 1 > 1 *U16^1(mark(X)) -> U16^1(X) The graph contains the following edges 1 > 1 ---------------------------------------- (172) YES ---------------------------------------- (173) Obligation: Q DP problem: The TRS P consists of the following rules: U15^1(X1, mark(X2)) -> U15^1(X1, X2) U15^1(mark(X1), X2) -> U15^1(X1, X2) U15^1(active(X1), X2) -> U15^1(X1, X2) U15^1(X1, active(X2)) -> U15^1(X1, X2) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (174) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (175) Obligation: Q DP problem: The TRS P consists of the following rules: U15^1(X1, mark(X2)) -> U15^1(X1, X2) U15^1(mark(X1), X2) -> U15^1(X1, X2) U15^1(active(X1), X2) -> U15^1(X1, X2) U15^1(X1, active(X2)) -> U15^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (176) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (177) Obligation: Q DP problem: The TRS P consists of the following rules: U15^1(X1, mark(X2)) -> U15^1(X1, X2) U15^1(mark(X1), X2) -> U15^1(X1, X2) U15^1(active(X1), X2) -> U15^1(X1, X2) U15^1(X1, active(X2)) -> U15^1(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (178) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U15^1(X1, mark(X2)) -> U15^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 *U15^1(mark(X1), X2) -> U15^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U15^1(active(X1), X2) -> U15^1(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *U15^1(X1, active(X2)) -> U15^1(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 ---------------------------------------- (179) YES ---------------------------------------- (180) Obligation: Q DP problem: The TRS P consists of the following rules: U14^1(X1, mark(X2), X3) -> U14^1(X1, X2, X3) U14^1(mark(X1), X2, X3) -> U14^1(X1, X2, X3) U14^1(X1, X2, mark(X3)) -> U14^1(X1, X2, X3) U14^1(active(X1), X2, X3) -> U14^1(X1, X2, X3) U14^1(X1, active(X2), X3) -> U14^1(X1, X2, X3) U14^1(X1, X2, active(X3)) -> U14^1(X1, X2, X3) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (181) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (182) Obligation: Q DP problem: The TRS P consists of the following rules: U14^1(X1, mark(X2), X3) -> U14^1(X1, X2, X3) U14^1(mark(X1), X2, X3) -> U14^1(X1, X2, X3) U14^1(X1, X2, mark(X3)) -> U14^1(X1, X2, X3) U14^1(active(X1), X2, X3) -> U14^1(X1, X2, X3) U14^1(X1, active(X2), X3) -> U14^1(X1, X2, X3) U14^1(X1, X2, active(X3)) -> U14^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (183) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (184) Obligation: Q DP problem: The TRS P consists of the following rules: U14^1(X1, mark(X2), X3) -> U14^1(X1, X2, X3) U14^1(mark(X1), X2, X3) -> U14^1(X1, X2, X3) U14^1(X1, X2, mark(X3)) -> U14^1(X1, X2, X3) U14^1(active(X1), X2, X3) -> U14^1(X1, X2, X3) U14^1(X1, active(X2), X3) -> U14^1(X1, X2, X3) U14^1(X1, X2, active(X3)) -> U14^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (185) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U14^1(X1, mark(X2), X3) -> U14^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U14^1(mark(X1), X2, X3) -> U14^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U14^1(X1, X2, mark(X3)) -> U14^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 *U14^1(active(X1), X2, X3) -> U14^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U14^1(X1, active(X2), X3) -> U14^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U14^1(X1, X2, active(X3)) -> U14^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 ---------------------------------------- (186) YES ---------------------------------------- (187) Obligation: Q DP problem: The TRS P consists of the following rules: U13^1(X1, mark(X2), X3) -> U13^1(X1, X2, X3) U13^1(mark(X1), X2, X3) -> U13^1(X1, X2, X3) U13^1(X1, X2, mark(X3)) -> U13^1(X1, X2, X3) U13^1(active(X1), X2, X3) -> U13^1(X1, X2, X3) U13^1(X1, active(X2), X3) -> U13^1(X1, X2, X3) U13^1(X1, X2, active(X3)) -> U13^1(X1, X2, X3) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (188) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (189) Obligation: Q DP problem: The TRS P consists of the following rules: U13^1(X1, mark(X2), X3) -> U13^1(X1, X2, X3) U13^1(mark(X1), X2, X3) -> U13^1(X1, X2, X3) U13^1(X1, X2, mark(X3)) -> U13^1(X1, X2, X3) U13^1(active(X1), X2, X3) -> U13^1(X1, X2, X3) U13^1(X1, active(X2), X3) -> U13^1(X1, X2, X3) U13^1(X1, X2, active(X3)) -> U13^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (190) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (191) Obligation: Q DP problem: The TRS P consists of the following rules: U13^1(X1, mark(X2), X3) -> U13^1(X1, X2, X3) U13^1(mark(X1), X2, X3) -> U13^1(X1, X2, X3) U13^1(X1, X2, mark(X3)) -> U13^1(X1, X2, X3) U13^1(active(X1), X2, X3) -> U13^1(X1, X2, X3) U13^1(X1, active(X2), X3) -> U13^1(X1, X2, X3) U13^1(X1, X2, active(X3)) -> U13^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (192) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U13^1(X1, mark(X2), X3) -> U13^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U13^1(mark(X1), X2, X3) -> U13^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U13^1(X1, X2, mark(X3)) -> U13^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 *U13^1(active(X1), X2, X3) -> U13^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U13^1(X1, active(X2), X3) -> U13^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U13^1(X1, X2, active(X3)) -> U13^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 ---------------------------------------- (193) YES ---------------------------------------- (194) Obligation: Q DP problem: The TRS P consists of the following rules: U12^1(X1, mark(X2), X3) -> U12^1(X1, X2, X3) U12^1(mark(X1), X2, X3) -> U12^1(X1, X2, X3) U12^1(X1, X2, mark(X3)) -> U12^1(X1, X2, X3) U12^1(active(X1), X2, X3) -> U12^1(X1, X2, X3) U12^1(X1, active(X2), X3) -> U12^1(X1, X2, X3) U12^1(X1, X2, active(X3)) -> U12^1(X1, X2, X3) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (195) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (196) Obligation: Q DP problem: The TRS P consists of the following rules: U12^1(X1, mark(X2), X3) -> U12^1(X1, X2, X3) U12^1(mark(X1), X2, X3) -> U12^1(X1, X2, X3) U12^1(X1, X2, mark(X3)) -> U12^1(X1, X2, X3) U12^1(active(X1), X2, X3) -> U12^1(X1, X2, X3) U12^1(X1, active(X2), X3) -> U12^1(X1, X2, X3) U12^1(X1, X2, active(X3)) -> U12^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (197) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (198) Obligation: Q DP problem: The TRS P consists of the following rules: U12^1(X1, mark(X2), X3) -> U12^1(X1, X2, X3) U12^1(mark(X1), X2, X3) -> U12^1(X1, X2, X3) U12^1(X1, X2, mark(X3)) -> U12^1(X1, X2, X3) U12^1(active(X1), X2, X3) -> U12^1(X1, X2, X3) U12^1(X1, active(X2), X3) -> U12^1(X1, X2, X3) U12^1(X1, X2, active(X3)) -> U12^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (199) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U12^1(X1, mark(X2), X3) -> U12^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U12^1(mark(X1), X2, X3) -> U12^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U12^1(X1, X2, mark(X3)) -> U12^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 *U12^1(active(X1), X2, X3) -> U12^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U12^1(X1, active(X2), X3) -> U12^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U12^1(X1, X2, active(X3)) -> U12^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 ---------------------------------------- (200) YES ---------------------------------------- (201) Obligation: Q DP problem: The TRS P consists of the following rules: U11^1(X1, mark(X2), X3) -> U11^1(X1, X2, X3) U11^1(mark(X1), X2, X3) -> U11^1(X1, X2, X3) U11^1(X1, X2, mark(X3)) -> U11^1(X1, X2, X3) U11^1(active(X1), X2, X3) -> U11^1(X1, X2, X3) U11^1(X1, active(X2), X3) -> U11^1(X1, X2, X3) U11^1(X1, X2, active(X3)) -> U11^1(X1, X2, X3) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (202) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (203) Obligation: Q DP problem: The TRS P consists of the following rules: U11^1(X1, mark(X2), X3) -> U11^1(X1, X2, X3) U11^1(mark(X1), X2, X3) -> U11^1(X1, X2, X3) U11^1(X1, X2, mark(X3)) -> U11^1(X1, X2, X3) U11^1(active(X1), X2, X3) -> U11^1(X1, X2, X3) U11^1(X1, active(X2), X3) -> U11^1(X1, X2, X3) U11^1(X1, X2, active(X3)) -> U11^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (204) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (205) Obligation: Q DP problem: The TRS P consists of the following rules: U11^1(X1, mark(X2), X3) -> U11^1(X1, X2, X3) U11^1(mark(X1), X2, X3) -> U11^1(X1, X2, X3) U11^1(X1, X2, mark(X3)) -> U11^1(X1, X2, X3) U11^1(active(X1), X2, X3) -> U11^1(X1, X2, X3) U11^1(X1, active(X2), X3) -> U11^1(X1, X2, X3) U11^1(X1, X2, active(X3)) -> U11^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (206) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U11^1(X1, mark(X2), X3) -> U11^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U11^1(mark(X1), X2, X3) -> U11^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U11^1(X1, X2, mark(X3)) -> U11^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 *U11^1(active(X1), X2, X3) -> U11^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U11^1(X1, active(X2), X3) -> U11^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U11^1(X1, X2, active(X3)) -> U11^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 ---------------------------------------- (207) YES ---------------------------------------- (208) Obligation: Q DP problem: The TRS P consists of the following rules: X(X1, mark(X2)) -> X(X1, X2) X(mark(X1), X2) -> X(X1, X2) X(active(X1), X2) -> X(X1, X2) X(X1, active(X2)) -> X(X1, X2) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (209) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (210) Obligation: Q DP problem: The TRS P consists of the following rules: X(X1, mark(X2)) -> X(X1, X2) X(mark(X1), X2) -> X(X1, X2) X(active(X1), X2) -> X(X1, X2) X(X1, active(X2)) -> X(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (211) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (212) Obligation: Q DP problem: The TRS P consists of the following rules: X(X1, mark(X2)) -> X(X1, X2) X(mark(X1), X2) -> X(X1, X2) X(active(X1), X2) -> X(X1, X2) X(X1, active(X2)) -> X(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (213) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *X(X1, mark(X2)) -> X(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 *X(mark(X1), X2) -> X(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *X(active(X1), X2) -> X(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *X(X1, active(X2)) -> X(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 ---------------------------------------- (214) YES ---------------------------------------- (215) Obligation: Q DP problem: The TRS P consists of the following rules: PLUS(X1, mark(X2)) -> PLUS(X1, X2) PLUS(mark(X1), X2) -> PLUS(X1, X2) PLUS(active(X1), X2) -> PLUS(X1, X2) PLUS(X1, active(X2)) -> PLUS(X1, X2) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (216) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (217) Obligation: Q DP problem: The TRS P consists of the following rules: PLUS(X1, mark(X2)) -> PLUS(X1, X2) PLUS(mark(X1), X2) -> PLUS(X1, X2) PLUS(active(X1), X2) -> PLUS(X1, X2) PLUS(X1, active(X2)) -> PLUS(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (218) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (219) Obligation: Q DP problem: The TRS P consists of the following rules: PLUS(X1, mark(X2)) -> PLUS(X1, X2) PLUS(mark(X1), X2) -> PLUS(X1, X2) PLUS(active(X1), X2) -> PLUS(X1, X2) PLUS(X1, active(X2)) -> PLUS(X1, X2) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (220) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *PLUS(X1, mark(X2)) -> PLUS(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 *PLUS(mark(X1), X2) -> PLUS(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *PLUS(active(X1), X2) -> PLUS(X1, X2) The graph contains the following edges 1 > 1, 2 >= 2 *PLUS(X1, active(X2)) -> PLUS(X1, X2) The graph contains the following edges 1 >= 1, 2 > 2 ---------------------------------------- (221) YES ---------------------------------------- (222) Obligation: Q DP problem: The TRS P consists of the following rules: U104^1(X1, mark(X2), X3) -> U104^1(X1, X2, X3) U104^1(mark(X1), X2, X3) -> U104^1(X1, X2, X3) U104^1(X1, X2, mark(X3)) -> U104^1(X1, X2, X3) U104^1(active(X1), X2, X3) -> U104^1(X1, X2, X3) U104^1(X1, active(X2), X3) -> U104^1(X1, X2, X3) U104^1(X1, X2, active(X3)) -> U104^1(X1, X2, X3) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (223) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (224) Obligation: Q DP problem: The TRS P consists of the following rules: U104^1(X1, mark(X2), X3) -> U104^1(X1, X2, X3) U104^1(mark(X1), X2, X3) -> U104^1(X1, X2, X3) U104^1(X1, X2, mark(X3)) -> U104^1(X1, X2, X3) U104^1(active(X1), X2, X3) -> U104^1(X1, X2, X3) U104^1(X1, active(X2), X3) -> U104^1(X1, X2, X3) U104^1(X1, X2, active(X3)) -> U104^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (225) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (226) Obligation: Q DP problem: The TRS P consists of the following rules: U104^1(X1, mark(X2), X3) -> U104^1(X1, X2, X3) U104^1(mark(X1), X2, X3) -> U104^1(X1, X2, X3) U104^1(X1, X2, mark(X3)) -> U104^1(X1, X2, X3) U104^1(active(X1), X2, X3) -> U104^1(X1, X2, X3) U104^1(X1, active(X2), X3) -> U104^1(X1, X2, X3) U104^1(X1, X2, active(X3)) -> U104^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (227) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U104^1(X1, mark(X2), X3) -> U104^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U104^1(mark(X1), X2, X3) -> U104^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U104^1(X1, X2, mark(X3)) -> U104^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 *U104^1(active(X1), X2, X3) -> U104^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U104^1(X1, active(X2), X3) -> U104^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U104^1(X1, X2, active(X3)) -> U104^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 ---------------------------------------- (228) YES ---------------------------------------- (229) Obligation: Q DP problem: The TRS P consists of the following rules: ISNAT(active(X)) -> ISNAT(X) ISNAT(mark(X)) -> ISNAT(X) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (230) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (231) Obligation: Q DP problem: The TRS P consists of the following rules: ISNAT(active(X)) -> ISNAT(X) ISNAT(mark(X)) -> ISNAT(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (232) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (233) Obligation: Q DP problem: The TRS P consists of the following rules: ISNAT(active(X)) -> ISNAT(X) ISNAT(mark(X)) -> ISNAT(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (234) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *ISNAT(active(X)) -> ISNAT(X) The graph contains the following edges 1 > 1 *ISNAT(mark(X)) -> ISNAT(X) The graph contains the following edges 1 > 1 ---------------------------------------- (235) YES ---------------------------------------- (236) Obligation: Q DP problem: The TRS P consists of the following rules: U103^1(X1, mark(X2), X3) -> U103^1(X1, X2, X3) U103^1(mark(X1), X2, X3) -> U103^1(X1, X2, X3) U103^1(X1, X2, mark(X3)) -> U103^1(X1, X2, X3) U103^1(active(X1), X2, X3) -> U103^1(X1, X2, X3) U103^1(X1, active(X2), X3) -> U103^1(X1, X2, X3) U103^1(X1, X2, active(X3)) -> U103^1(X1, X2, X3) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (237) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (238) Obligation: Q DP problem: The TRS P consists of the following rules: U103^1(X1, mark(X2), X3) -> U103^1(X1, X2, X3) U103^1(mark(X1), X2, X3) -> U103^1(X1, X2, X3) U103^1(X1, X2, mark(X3)) -> U103^1(X1, X2, X3) U103^1(active(X1), X2, X3) -> U103^1(X1, X2, X3) U103^1(X1, active(X2), X3) -> U103^1(X1, X2, X3) U103^1(X1, X2, active(X3)) -> U103^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (239) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (240) Obligation: Q DP problem: The TRS P consists of the following rules: U103^1(X1, mark(X2), X3) -> U103^1(X1, X2, X3) U103^1(mark(X1), X2, X3) -> U103^1(X1, X2, X3) U103^1(X1, X2, mark(X3)) -> U103^1(X1, X2, X3) U103^1(active(X1), X2, X3) -> U103^1(X1, X2, X3) U103^1(X1, active(X2), X3) -> U103^1(X1, X2, X3) U103^1(X1, X2, active(X3)) -> U103^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (241) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U103^1(X1, mark(X2), X3) -> U103^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U103^1(mark(X1), X2, X3) -> U103^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U103^1(X1, X2, mark(X3)) -> U103^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 *U103^1(active(X1), X2, X3) -> U103^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U103^1(X1, active(X2), X3) -> U103^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U103^1(X1, X2, active(X3)) -> U103^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 ---------------------------------------- (242) YES ---------------------------------------- (243) Obligation: Q DP problem: The TRS P consists of the following rules: ISNATKIND(active(X)) -> ISNATKIND(X) ISNATKIND(mark(X)) -> ISNATKIND(X) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (244) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (245) Obligation: Q DP problem: The TRS P consists of the following rules: ISNATKIND(active(X)) -> ISNATKIND(X) ISNATKIND(mark(X)) -> ISNATKIND(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (246) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (247) Obligation: Q DP problem: The TRS P consists of the following rules: ISNATKIND(active(X)) -> ISNATKIND(X) ISNATKIND(mark(X)) -> ISNATKIND(X) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (248) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *ISNATKIND(active(X)) -> ISNATKIND(X) The graph contains the following edges 1 > 1 *ISNATKIND(mark(X)) -> ISNATKIND(X) The graph contains the following edges 1 > 1 ---------------------------------------- (249) YES ---------------------------------------- (250) Obligation: Q DP problem: The TRS P consists of the following rules: U102^1(X1, mark(X2), X3) -> U102^1(X1, X2, X3) U102^1(mark(X1), X2, X3) -> U102^1(X1, X2, X3) U102^1(X1, X2, mark(X3)) -> U102^1(X1, X2, X3) U102^1(active(X1), X2, X3) -> U102^1(X1, X2, X3) U102^1(X1, active(X2), X3) -> U102^1(X1, X2, X3) U102^1(X1, X2, active(X3)) -> U102^1(X1, X2, X3) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (251) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (252) Obligation: Q DP problem: The TRS P consists of the following rules: U102^1(X1, mark(X2), X3) -> U102^1(X1, X2, X3) U102^1(mark(X1), X2, X3) -> U102^1(X1, X2, X3) U102^1(X1, X2, mark(X3)) -> U102^1(X1, X2, X3) U102^1(active(X1), X2, X3) -> U102^1(X1, X2, X3) U102^1(X1, active(X2), X3) -> U102^1(X1, X2, X3) U102^1(X1, X2, active(X3)) -> U102^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (253) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (254) Obligation: Q DP problem: The TRS P consists of the following rules: U102^1(X1, mark(X2), X3) -> U102^1(X1, X2, X3) U102^1(mark(X1), X2, X3) -> U102^1(X1, X2, X3) U102^1(X1, X2, mark(X3)) -> U102^1(X1, X2, X3) U102^1(active(X1), X2, X3) -> U102^1(X1, X2, X3) U102^1(X1, active(X2), X3) -> U102^1(X1, X2, X3) U102^1(X1, X2, active(X3)) -> U102^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (255) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U102^1(X1, mark(X2), X3) -> U102^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U102^1(mark(X1), X2, X3) -> U102^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U102^1(X1, X2, mark(X3)) -> U102^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 *U102^1(active(X1), X2, X3) -> U102^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U102^1(X1, active(X2), X3) -> U102^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U102^1(X1, X2, active(X3)) -> U102^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 ---------------------------------------- (256) YES ---------------------------------------- (257) Obligation: Q DP problem: The TRS P consists of the following rules: U101^1(X1, mark(X2), X3) -> U101^1(X1, X2, X3) U101^1(mark(X1), X2, X3) -> U101^1(X1, X2, X3) U101^1(X1, X2, mark(X3)) -> U101^1(X1, X2, X3) U101^1(active(X1), X2, X3) -> U101^1(X1, X2, X3) U101^1(X1, active(X2), X3) -> U101^1(X1, X2, X3) U101^1(X1, X2, active(X3)) -> U101^1(X1, X2, X3) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (258) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (259) Obligation: Q DP problem: The TRS P consists of the following rules: U101^1(X1, mark(X2), X3) -> U101^1(X1, X2, X3) U101^1(mark(X1), X2, X3) -> U101^1(X1, X2, X3) U101^1(X1, X2, mark(X3)) -> U101^1(X1, X2, X3) U101^1(active(X1), X2, X3) -> U101^1(X1, X2, X3) U101^1(X1, active(X2), X3) -> U101^1(X1, X2, X3) U101^1(X1, X2, active(X3)) -> U101^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (260) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (261) Obligation: Q DP problem: The TRS P consists of the following rules: U101^1(X1, mark(X2), X3) -> U101^1(X1, X2, X3) U101^1(mark(X1), X2, X3) -> U101^1(X1, X2, X3) U101^1(X1, X2, mark(X3)) -> U101^1(X1, X2, X3) U101^1(active(X1), X2, X3) -> U101^1(X1, X2, X3) U101^1(X1, active(X2), X3) -> U101^1(X1, X2, X3) U101^1(X1, X2, active(X3)) -> U101^1(X1, X2, X3) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (262) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *U101^1(X1, mark(X2), X3) -> U101^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U101^1(mark(X1), X2, X3) -> U101^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U101^1(X1, X2, mark(X3)) -> U101^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 *U101^1(active(X1), X2, X3) -> U101^1(X1, X2, X3) The graph contains the following edges 1 > 1, 2 >= 2, 3 >= 3 *U101^1(X1, active(X2), X3) -> U101^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3 *U101^1(X1, X2, active(X3)) -> U101^1(X1, X2, X3) The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3 ---------------------------------------- (263) YES ---------------------------------------- (264) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U102(X1, X2, X3)) -> ACTIVE(U102(mark(X1), X2, X3)) ACTIVE(U101(tt, M, N)) -> MARK(U102(isNatKind(M), M, N)) MARK(U102(X1, X2, X3)) -> MARK(X1) MARK(U101(X1, X2, X3)) -> ACTIVE(U101(mark(X1), X2, X3)) ACTIVE(U102(tt, M, N)) -> MARK(U103(isNat(N), M, N)) MARK(U103(X1, X2, X3)) -> ACTIVE(U103(mark(X1), X2, X3)) ACTIVE(U103(tt, M, N)) -> MARK(U104(isNatKind(N), M, N)) MARK(U104(X1, X2, X3)) -> ACTIVE(U104(mark(X1), X2, X3)) ACTIVE(U104(tt, M, N)) -> MARK(plus(x(N, M), N)) MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> ACTIVE(U16(mark(X))) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> ACTIVE(U23(mark(X))) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> ACTIVE(U36(mark(X))) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> ACTIVE(U42(mark(X))) ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) MARK(U62(X)) -> ACTIVE(U62(mark(X))) ACTIVE(U71(tt, N)) -> MARK(U72(isNatKind(N), N)) MARK(U72(X1, X2)) -> ACTIVE(U72(mark(X1), X2)) ACTIVE(U72(tt, N)) -> MARK(N) MARK(U101(X1, X2, X3)) -> MARK(X1) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U81(tt, M, N)) -> MARK(U82(isNatKind(M), M, N)) MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) ACTIVE(U82(tt, M, N)) -> MARK(U83(isNat(N), M, N)) MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) ACTIVE(U83(tt, M, N)) -> MARK(U84(isNatKind(N), M, N)) MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) ACTIVE(U84(tt, M, N)) -> MARK(s(plus(N, M))) MARK(s(X)) -> ACTIVE(s(mark(X))) ACTIVE(U91(tt, N)) -> MARK(U92(isNatKind(N))) MARK(U92(X)) -> ACTIVE(U92(mark(X))) ACTIVE(plus(N, 0)) -> MARK(U71(isNat(N), N)) MARK(U71(X1, X2)) -> ACTIVE(U71(mark(X1), X2)) ACTIVE(plus(N, s(M))) -> MARK(U81(isNat(M), M, N)) MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) ACTIVE(x(N, 0)) -> MARK(U91(isNat(N), N)) MARK(U91(X1, X2)) -> ACTIVE(U91(mark(X1), X2)) ACTIVE(x(N, s(M))) -> MARK(U101(isNat(M), M, N)) MARK(U91(X1, X2)) -> MARK(X1) MARK(U103(X1, X2, X3)) -> MARK(X1) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U104(X1, X2, X3)) -> MARK(X1) MARK(plus(X1, X2)) -> MARK(X1) MARK(plus(X1, X2)) -> MARK(X2) MARK(x(X1, X2)) -> ACTIVE(x(mark(X1), mark(X2))) MARK(x(X1, X2)) -> MARK(X1) MARK(x(X1, X2)) -> MARK(X2) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U16(X)) -> MARK(X) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U23(X)) -> MARK(X) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U36(X)) -> MARK(X) MARK(U41(X1, X2)) -> MARK(X1) MARK(U42(X)) -> MARK(X) MARK(U51(X)) -> ACTIVE(U51(mark(X))) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) MARK(U61(X1, X2)) -> MARK(X1) MARK(U62(X)) -> MARK(X) MARK(U71(X1, X2)) -> MARK(X1) MARK(U72(X1, X2)) -> MARK(X1) MARK(U81(X1, X2, X3)) -> MARK(X1) MARK(U82(X1, X2, X3)) -> MARK(X1) MARK(U83(X1, X2, X3)) -> MARK(X1) MARK(U84(X1, X2, X3)) -> MARK(X1) MARK(s(X)) -> MARK(X) MARK(U92(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) active(U16(tt)) -> mark(tt) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) active(U23(tt)) -> mark(tt) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) active(U36(tt)) -> mark(tt) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) active(U62(tt)) -> mark(tt) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) active(U72(tt, N)) -> mark(N) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) active(isNatKind(0)) -> mark(tt) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) active(x(N, 0)) -> mark(U91(isNat(N), N)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) mark(tt) -> active(tt) mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) mark(isNat(X)) -> active(isNat(X)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) mark(U16(X)) -> active(U16(mark(X))) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) mark(U23(X)) -> active(U23(mark(X))) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) mark(U36(X)) -> active(U36(mark(X))) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) mark(U42(X)) -> active(U42(mark(X))) mark(U51(X)) -> active(U51(mark(X))) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) mark(U62(X)) -> active(U62(mark(X))) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) mark(s(X)) -> active(s(mark(X))) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) mark(U92(X)) -> active(U92(mark(X))) mark(0) -> active(0) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) isNatKind(mark(X)) -> isNatKind(X) isNatKind(active(X)) -> isNatKind(X) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) isNat(mark(X)) -> isNat(X) isNat(active(X)) -> isNat(X) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(mark(X1), X2) -> plus(X1, X2) plus(X1, mark(X2)) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(mark(X1), X2) -> U15(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(mark(X)) -> U16(X) U16(active(X)) -> U16(X) U21(mark(X1), X2) -> U21(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(mark(X)) -> U23(X) U23(active(X)) -> U23(X) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(mark(X1), X2) -> U35(X1, X2) U35(X1, mark(X2)) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(mark(X)) -> U36(X) U36(active(X)) -> U36(X) U41(mark(X1), X2) -> U41(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U42(mark(X)) -> U42(X) U42(active(X)) -> U42(X) U51(mark(X)) -> U51(X) U51(active(X)) -> U51(X) U61(mark(X1), X2) -> U61(X1, X2) U61(X1, mark(X2)) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U62(mark(X)) -> U62(X) U62(active(X)) -> U62(X) U71(mark(X1), X2) -> U71(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(mark(X)) -> s(X) s(active(X)) -> s(X) U91(mark(X1), X2) -> U91(X1, X2) U91(X1, mark(X2)) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U92(mark(X)) -> U92(X) U92(active(X)) -> U92(X) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (265) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (266) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U102(X1, X2, X3)) -> ACTIVE(U102(mark(X1), X2, X3)) ACTIVE(U101(tt, M, N)) -> MARK(U102(isNatKind(M), M, N)) MARK(U102(X1, X2, X3)) -> MARK(X1) MARK(U101(X1, X2, X3)) -> ACTIVE(U101(mark(X1), X2, X3)) ACTIVE(U102(tt, M, N)) -> MARK(U103(isNat(N), M, N)) MARK(U103(X1, X2, X3)) -> ACTIVE(U103(mark(X1), X2, X3)) ACTIVE(U103(tt, M, N)) -> MARK(U104(isNatKind(N), M, N)) MARK(U104(X1, X2, X3)) -> ACTIVE(U104(mark(X1), X2, X3)) ACTIVE(U104(tt, M, N)) -> MARK(plus(x(N, M), N)) MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> ACTIVE(U16(mark(X))) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> ACTIVE(U23(mark(X))) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> ACTIVE(U36(mark(X))) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> ACTIVE(U42(mark(X))) ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) MARK(U62(X)) -> ACTIVE(U62(mark(X))) ACTIVE(U71(tt, N)) -> MARK(U72(isNatKind(N), N)) MARK(U72(X1, X2)) -> ACTIVE(U72(mark(X1), X2)) ACTIVE(U72(tt, N)) -> MARK(N) MARK(U101(X1, X2, X3)) -> MARK(X1) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U81(tt, M, N)) -> MARK(U82(isNatKind(M), M, N)) MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) ACTIVE(U82(tt, M, N)) -> MARK(U83(isNat(N), M, N)) MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) ACTIVE(U83(tt, M, N)) -> MARK(U84(isNatKind(N), M, N)) MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) ACTIVE(U84(tt, M, N)) -> MARK(s(plus(N, M))) MARK(s(X)) -> ACTIVE(s(mark(X))) ACTIVE(U91(tt, N)) -> MARK(U92(isNatKind(N))) MARK(U92(X)) -> ACTIVE(U92(mark(X))) ACTIVE(plus(N, 0)) -> MARK(U71(isNat(N), N)) MARK(U71(X1, X2)) -> ACTIVE(U71(mark(X1), X2)) ACTIVE(plus(N, s(M))) -> MARK(U81(isNat(M), M, N)) MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) ACTIVE(x(N, 0)) -> MARK(U91(isNat(N), N)) MARK(U91(X1, X2)) -> ACTIVE(U91(mark(X1), X2)) ACTIVE(x(N, s(M))) -> MARK(U101(isNat(M), M, N)) MARK(U91(X1, X2)) -> MARK(X1) MARK(U103(X1, X2, X3)) -> MARK(X1) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U104(X1, X2, X3)) -> MARK(X1) MARK(plus(X1, X2)) -> MARK(X1) MARK(plus(X1, X2)) -> MARK(X2) MARK(x(X1, X2)) -> ACTIVE(x(mark(X1), mark(X2))) MARK(x(X1, X2)) -> MARK(X1) MARK(x(X1, X2)) -> MARK(X2) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U16(X)) -> MARK(X) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U23(X)) -> MARK(X) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U36(X)) -> MARK(X) MARK(U41(X1, X2)) -> MARK(X1) MARK(U42(X)) -> MARK(X) MARK(U51(X)) -> ACTIVE(U51(mark(X))) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) MARK(U61(X1, X2)) -> MARK(X1) MARK(U62(X)) -> MARK(X) MARK(U71(X1, X2)) -> MARK(X1) MARK(U72(X1, X2)) -> MARK(X1) MARK(U81(X1, X2, X3)) -> MARK(X1) MARK(U82(X1, X2, X3)) -> MARK(X1) MARK(U83(X1, X2, X3)) -> MARK(X1) MARK(U84(X1, X2, X3)) -> MARK(X1) MARK(s(X)) -> MARK(X) MARK(U92(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (267) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U16(X)) -> ACTIVE(U16(mark(X))) MARK(U23(X)) -> ACTIVE(U23(mark(X))) MARK(U36(X)) -> ACTIVE(U36(mark(X))) MARK(s(X)) -> ACTIVE(s(mark(X))) MARK(U92(X)) -> ACTIVE(U92(mark(X))) MARK(U51(X)) -> ACTIVE(U51(mark(X))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = x_1 POL( U101_3(x_1, ..., x_3) ) = 2 POL( U102_3(x_1, ..., x_3) ) = 2 POL( U103_3(x_1, ..., x_3) ) = 2 POL( U104_3(x_1, ..., x_3) ) = 2 POL( U11_3(x_1, ..., x_3) ) = 2 POL( U12_3(x_1, ..., x_3) ) = 2 POL( U13_3(x_1, ..., x_3) ) = 2 POL( U14_3(x_1, ..., x_3) ) = 2 POL( U15_2(x_1, x_2) ) = 2 POL( U16_1(x_1) ) = max{0, -2} POL( U21_2(x_1, x_2) ) = 2 POL( U22_2(x_1, x_2) ) = 2 POL( U23_1(x_1) ) = 0 POL( U31_3(x_1, ..., x_3) ) = 2 POL( U32_3(x_1, ..., x_3) ) = 2 POL( U33_3(x_1, ..., x_3) ) = 2 POL( U34_3(x_1, ..., x_3) ) = 2 POL( U35_2(x_1, x_2) ) = 2 POL( U36_1(x_1) ) = 0 POL( U41_2(x_1, x_2) ) = 2 POL( U42_1(x_1) ) = 2 POL( U51_1(x_1) ) = max{0, -2} POL( U61_2(x_1, x_2) ) = 2 POL( U62_1(x_1) ) = 2 POL( U71_2(x_1, x_2) ) = 2 POL( U72_2(x_1, x_2) ) = 2 POL( U81_3(x_1, ..., x_3) ) = 2 POL( U82_3(x_1, ..., x_3) ) = 2 POL( U83_3(x_1, ..., x_3) ) = 2 POL( U84_3(x_1, ..., x_3) ) = 2 POL( U91_2(x_1, x_2) ) = 2 POL( U92_1(x_1) ) = max{0, -2} POL( plus_2(x_1, x_2) ) = 2 POL( s_1(x_1) ) = max{0, -2} POL( x_2(x_1, x_2) ) = 2 POL( mark_1(x_1) ) = 2 POL( active_1(x_1) ) = max{0, -2} POL( tt ) = 0 POL( isNatKind_1(x_1) ) = 2 POL( isNat_1(x_1) ) = 2 POL( 0 ) = 0 POL( MARK_1(x_1) ) = 2 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) ---------------------------------------- (268) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U102(X1, X2, X3)) -> ACTIVE(U102(mark(X1), X2, X3)) ACTIVE(U101(tt, M, N)) -> MARK(U102(isNatKind(M), M, N)) MARK(U102(X1, X2, X3)) -> MARK(X1) MARK(U101(X1, X2, X3)) -> ACTIVE(U101(mark(X1), X2, X3)) ACTIVE(U102(tt, M, N)) -> MARK(U103(isNat(N), M, N)) MARK(U103(X1, X2, X3)) -> ACTIVE(U103(mark(X1), X2, X3)) ACTIVE(U103(tt, M, N)) -> MARK(U104(isNatKind(N), M, N)) MARK(U104(X1, X2, X3)) -> ACTIVE(U104(mark(X1), X2, X3)) ACTIVE(U104(tt, M, N)) -> MARK(plus(x(N, M), N)) MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> ACTIVE(U42(mark(X))) ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) MARK(U62(X)) -> ACTIVE(U62(mark(X))) ACTIVE(U71(tt, N)) -> MARK(U72(isNatKind(N), N)) MARK(U72(X1, X2)) -> ACTIVE(U72(mark(X1), X2)) ACTIVE(U72(tt, N)) -> MARK(N) MARK(U101(X1, X2, X3)) -> MARK(X1) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U81(tt, M, N)) -> MARK(U82(isNatKind(M), M, N)) MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) ACTIVE(U82(tt, M, N)) -> MARK(U83(isNat(N), M, N)) MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) ACTIVE(U83(tt, M, N)) -> MARK(U84(isNatKind(N), M, N)) MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) ACTIVE(U84(tt, M, N)) -> MARK(s(plus(N, M))) ACTIVE(U91(tt, N)) -> MARK(U92(isNatKind(N))) ACTIVE(plus(N, 0)) -> MARK(U71(isNat(N), N)) MARK(U71(X1, X2)) -> ACTIVE(U71(mark(X1), X2)) ACTIVE(plus(N, s(M))) -> MARK(U81(isNat(M), M, N)) MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) ACTIVE(x(N, 0)) -> MARK(U91(isNat(N), N)) MARK(U91(X1, X2)) -> ACTIVE(U91(mark(X1), X2)) ACTIVE(x(N, s(M))) -> MARK(U101(isNat(M), M, N)) MARK(U91(X1, X2)) -> MARK(X1) MARK(U103(X1, X2, X3)) -> MARK(X1) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U104(X1, X2, X3)) -> MARK(X1) MARK(plus(X1, X2)) -> MARK(X1) MARK(plus(X1, X2)) -> MARK(X2) MARK(x(X1, X2)) -> ACTIVE(x(mark(X1), mark(X2))) MARK(x(X1, X2)) -> MARK(X1) MARK(x(X1, X2)) -> MARK(X2) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U16(X)) -> MARK(X) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U23(X)) -> MARK(X) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U36(X)) -> MARK(X) MARK(U41(X1, X2)) -> MARK(X1) MARK(U42(X)) -> MARK(X) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) MARK(U61(X1, X2)) -> MARK(X1) MARK(U62(X)) -> MARK(X) MARK(U71(X1, X2)) -> MARK(X1) MARK(U72(X1, X2)) -> MARK(X1) MARK(U81(X1, X2, X3)) -> MARK(X1) MARK(U82(X1, X2, X3)) -> MARK(X1) MARK(U83(X1, X2, X3)) -> MARK(X1) MARK(U84(X1, X2, X3)) -> MARK(X1) MARK(s(X)) -> MARK(X) MARK(U92(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (269) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U42(X)) -> ACTIVE(U42(mark(X))) MARK(U62(X)) -> ACTIVE(U62(mark(X))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, x_1 - 1} POL( U101_3(x_1, ..., x_3) ) = 2 POL( U102_3(x_1, ..., x_3) ) = 2 POL( U103_3(x_1, ..., x_3) ) = 2 POL( U104_3(x_1, ..., x_3) ) = 2 POL( U11_3(x_1, ..., x_3) ) = 2 POL( U12_3(x_1, ..., x_3) ) = 2 POL( U13_3(x_1, ..., x_3) ) = 2 POL( U14_3(x_1, ..., x_3) ) = 2 POL( U15_2(x_1, x_2) ) = 2 POL( U21_2(x_1, x_2) ) = 2 POL( U22_2(x_1, x_2) ) = 2 POL( U31_3(x_1, ..., x_3) ) = 2 POL( U32_3(x_1, ..., x_3) ) = 2 POL( U33_3(x_1, ..., x_3) ) = 2 POL( U34_3(x_1, ..., x_3) ) = 2 POL( U35_2(x_1, x_2) ) = 2 POL( U41_2(x_1, x_2) ) = 2 POL( U42_1(x_1) ) = max{0, -2} POL( U61_2(x_1, x_2) ) = 2 POL( U62_1(x_1) ) = max{0, -2} POL( U71_2(x_1, x_2) ) = 2 POL( U72_2(x_1, x_2) ) = 2 POL( U81_3(x_1, ..., x_3) ) = 2 POL( U82_3(x_1, ..., x_3) ) = 2 POL( U83_3(x_1, ..., x_3) ) = 2 POL( U84_3(x_1, ..., x_3) ) = 2 POL( U91_2(x_1, x_2) ) = 2 POL( plus_2(x_1, x_2) ) = 2 POL( x_2(x_1, x_2) ) = 2 POL( mark_1(x_1) ) = max{0, -2} POL( active_1(x_1) ) = 2x_1 + 2 POL( tt ) = 0 POL( isNatKind_1(x_1) ) = 2 POL( isNat_1(x_1) ) = 2 POL( U16_1(x_1) ) = 2 POL( U23_1(x_1) ) = 2 POL( U36_1(x_1) ) = max{0, x_1 - 2} POL( s_1(x_1) ) = max{0, x_1 - 2} POL( U92_1(x_1) ) = 0 POL( U51_1(x_1) ) = max{0, -2} POL( 0 ) = 0 POL( MARK_1(x_1) ) = 1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) ---------------------------------------- (270) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U102(X1, X2, X3)) -> ACTIVE(U102(mark(X1), X2, X3)) ACTIVE(U101(tt, M, N)) -> MARK(U102(isNatKind(M), M, N)) MARK(U102(X1, X2, X3)) -> MARK(X1) MARK(U101(X1, X2, X3)) -> ACTIVE(U101(mark(X1), X2, X3)) ACTIVE(U102(tt, M, N)) -> MARK(U103(isNat(N), M, N)) MARK(U103(X1, X2, X3)) -> ACTIVE(U103(mark(X1), X2, X3)) ACTIVE(U103(tt, M, N)) -> MARK(U104(isNatKind(N), M, N)) MARK(U104(X1, X2, X3)) -> ACTIVE(U104(mark(X1), X2, X3)) ACTIVE(U104(tt, M, N)) -> MARK(plus(x(N, M), N)) MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) ACTIVE(U71(tt, N)) -> MARK(U72(isNatKind(N), N)) MARK(U72(X1, X2)) -> ACTIVE(U72(mark(X1), X2)) ACTIVE(U72(tt, N)) -> MARK(N) MARK(U101(X1, X2, X3)) -> MARK(X1) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U81(tt, M, N)) -> MARK(U82(isNatKind(M), M, N)) MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) ACTIVE(U82(tt, M, N)) -> MARK(U83(isNat(N), M, N)) MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) ACTIVE(U83(tt, M, N)) -> MARK(U84(isNatKind(N), M, N)) MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) ACTIVE(U84(tt, M, N)) -> MARK(s(plus(N, M))) ACTIVE(U91(tt, N)) -> MARK(U92(isNatKind(N))) ACTIVE(plus(N, 0)) -> MARK(U71(isNat(N), N)) MARK(U71(X1, X2)) -> ACTIVE(U71(mark(X1), X2)) ACTIVE(plus(N, s(M))) -> MARK(U81(isNat(M), M, N)) MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) ACTIVE(x(N, 0)) -> MARK(U91(isNat(N), N)) MARK(U91(X1, X2)) -> ACTIVE(U91(mark(X1), X2)) ACTIVE(x(N, s(M))) -> MARK(U101(isNat(M), M, N)) MARK(U91(X1, X2)) -> MARK(X1) MARK(U103(X1, X2, X3)) -> MARK(X1) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U104(X1, X2, X3)) -> MARK(X1) MARK(plus(X1, X2)) -> MARK(X1) MARK(plus(X1, X2)) -> MARK(X2) MARK(x(X1, X2)) -> ACTIVE(x(mark(X1), mark(X2))) MARK(x(X1, X2)) -> MARK(X1) MARK(x(X1, X2)) -> MARK(X2) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U16(X)) -> MARK(X) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U23(X)) -> MARK(X) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U36(X)) -> MARK(X) MARK(U41(X1, X2)) -> MARK(X1) MARK(U42(X)) -> MARK(X) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) MARK(U61(X1, X2)) -> MARK(X1) MARK(U62(X)) -> MARK(X) MARK(U71(X1, X2)) -> MARK(X1) MARK(U72(X1, X2)) -> MARK(X1) MARK(U81(X1, X2, X3)) -> MARK(X1) MARK(U82(X1, X2, X3)) -> MARK(X1) MARK(U83(X1, X2, X3)) -> MARK(X1) MARK(U84(X1, X2, X3)) -> MARK(X1) MARK(s(X)) -> MARK(X) MARK(U92(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (271) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U102(X1, X2, X3)) -> MARK(X1) ACTIVE(U104(tt, M, N)) -> MARK(plus(x(N, M), N)) ACTIVE(U71(tt, N)) -> MARK(U72(isNatKind(N), N)) ACTIVE(U72(tt, N)) -> MARK(N) MARK(U101(X1, X2, X3)) -> MARK(X1) ACTIVE(U84(tt, M, N)) -> MARK(s(plus(N, M))) ACTIVE(plus(N, 0)) -> MARK(U71(isNat(N), N)) ACTIVE(plus(N, s(M))) -> MARK(U81(isNat(M), M, N)) ACTIVE(x(N, 0)) -> MARK(U91(isNat(N), N)) ACTIVE(x(N, s(M))) -> MARK(U101(isNat(M), M, N)) MARK(U91(X1, X2)) -> MARK(X1) MARK(U103(X1, X2, X3)) -> MARK(X1) MARK(U104(X1, X2, X3)) -> MARK(X1) MARK(plus(X1, X2)) -> MARK(X1) MARK(plus(X1, X2)) -> MARK(X2) MARK(x(X1, X2)) -> MARK(X1) MARK(x(X1, X2)) -> MARK(X2) MARK(U71(X1, X2)) -> MARK(X1) MARK(U72(X1, X2)) -> MARK(X1) MARK(U81(X1, X2, X3)) -> MARK(X1) MARK(U82(X1, X2, X3)) -> MARK(X1) MARK(U83(X1, X2, X3)) -> MARK(X1) MARK(U84(X1, X2, X3)) -> MARK(X1) MARK(s(X)) -> MARK(X) MARK(U92(X)) -> MARK(X) The remaining pairs can at least be oriented weakly. Used ordering: Combined order from the following AFS and order. MARK(x1) = x1 U102(x1, x2, x3) = U102(x1, x2, x3) ACTIVE(x1) = x1 mark(x1) = x1 U101(x1, x2, x3) = U101(x1, x2, x3) tt = tt isNatKind(x1) = isNatKind U103(x1, x2, x3) = U103(x1, x2, x3) isNat(x1) = isNat U104(x1, x2, x3) = U104(x1, x2, x3) plus(x1, x2) = plus(x1, x2) x(x1, x2) = x(x1, x2) U11(x1, x2, x3) = x1 U12(x1, x2, x3) = x1 U13(x1, x2, x3) = x1 U14(x1, x2, x3) = x1 U15(x1, x2) = x1 U16(x1) = x1 U21(x1, x2) = x1 U22(x1, x2) = x1 U23(x1) = x1 U31(x1, x2, x3) = x1 U32(x1, x2, x3) = x1 U33(x1, x2, x3) = x1 U34(x1, x2, x3) = x1 U35(x1, x2) = x1 U36(x1) = x1 U41(x1, x2) = x1 U42(x1) = x1 U61(x1, x2) = x1 U62(x1) = x1 U71(x1, x2) = U71(x1, x2) U72(x1, x2) = U72(x1, x2) U81(x1, x2, x3) = U81(x1, x2, x3) U82(x1, x2, x3) = U82(x1, x2, x3) U83(x1, x2, x3) = U83(x1, x2, x3) U84(x1, x2, x3) = U84(x1, x2, x3) s(x1) = s(x1) U91(x1, x2) = U91(x1) U92(x1) = U92(x1) 0 = 0 U51(x1) = x1 active(x1) = x1 Recursive path order with status [RPO]. Quasi-Precedence: [U102_3, U101_3, U103_3, U104_3, x_2] > [tt, isNatKind, isNat, plus_2, U81_3, U82_3, U83_3, U84_3, U91_1, U92_1, 0] > U71_2 > U72_2 [U102_3, U101_3, U103_3, U104_3, x_2] > [tt, isNatKind, isNat, plus_2, U81_3, U82_3, U83_3, U84_3, U91_1, U92_1, 0] > s_1 Status: U102_3: [2,3,1] U101_3: [2,3,1] tt: multiset status isNatKind: [] U103_3: [2,3,1] isNat: [] U104_3: [2,3,1] plus_2: [2,1] x_2: [2,1] U71_2: [2,1] U72_2: multiset status U81_3: [2,3,1] U82_3: [2,3,1] U83_3: [2,3,1] U84_3: [2,3,1] s_1: multiset status U91_1: multiset status U92_1: multiset status 0: multiset status The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) ---------------------------------------- (272) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U102(X1, X2, X3)) -> ACTIVE(U102(mark(X1), X2, X3)) ACTIVE(U101(tt, M, N)) -> MARK(U102(isNatKind(M), M, N)) MARK(U101(X1, X2, X3)) -> ACTIVE(U101(mark(X1), X2, X3)) ACTIVE(U102(tt, M, N)) -> MARK(U103(isNat(N), M, N)) MARK(U103(X1, X2, X3)) -> ACTIVE(U103(mark(X1), X2, X3)) ACTIVE(U103(tt, M, N)) -> MARK(U104(isNatKind(N), M, N)) MARK(U104(X1, X2, X3)) -> ACTIVE(U104(mark(X1), X2, X3)) MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) MARK(U72(X1, X2)) -> ACTIVE(U72(mark(X1), X2)) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U81(tt, M, N)) -> MARK(U82(isNatKind(M), M, N)) MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) ACTIVE(U82(tt, M, N)) -> MARK(U83(isNat(N), M, N)) MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) ACTIVE(U83(tt, M, N)) -> MARK(U84(isNatKind(N), M, N)) MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) ACTIVE(U91(tt, N)) -> MARK(U92(isNatKind(N))) MARK(U71(X1, X2)) -> ACTIVE(U71(mark(X1), X2)) MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) MARK(U91(X1, X2)) -> ACTIVE(U91(mark(X1), X2)) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(x(X1, X2)) -> ACTIVE(x(mark(X1), mark(X2))) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U16(X)) -> MARK(X) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U23(X)) -> MARK(X) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U36(X)) -> MARK(X) MARK(U41(X1, X2)) -> MARK(X1) MARK(U42(X)) -> MARK(X) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) MARK(U61(X1, X2)) -> MARK(X1) MARK(U62(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (273) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (274) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U101(tt, M, N)) -> MARK(U102(isNatKind(M), M, N)) MARK(U102(X1, X2, X3)) -> ACTIVE(U102(mark(X1), X2, X3)) ACTIVE(U102(tt, M, N)) -> MARK(U103(isNat(N), M, N)) MARK(U103(X1, X2, X3)) -> ACTIVE(U103(mark(X1), X2, X3)) ACTIVE(U103(tt, M, N)) -> MARK(U104(isNatKind(N), M, N)) MARK(U104(X1, X2, X3)) -> ACTIVE(U104(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(U101(X1, X2, X3)) -> ACTIVE(U101(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) MARK(U62(X)) -> MARK(X) MARK(x(X1, X2)) -> ACTIVE(x(mark(X1), mark(X2))) ACTIVE(U81(tt, M, N)) -> MARK(U82(isNatKind(M), M, N)) MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) ACTIVE(U82(tt, M, N)) -> MARK(U83(isNat(N), M, N)) MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) ACTIVE(U83(tt, M, N)) -> MARK(U84(isNatKind(N), M, N)) MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) MARK(U61(X1, X2)) -> MARK(X1) MARK(U71(X1, X2)) -> ACTIVE(U71(mark(X1), X2)) MARK(U72(X1, X2)) -> ACTIVE(U72(mark(X1), X2)) MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) MARK(U91(X1, X2)) -> ACTIVE(U91(mark(X1), X2)) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (275) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U104(X1, X2, X3)) -> ACTIVE(U104(mark(X1), X2, X3)) MARK(plus(X1, X2)) -> ACTIVE(plus(mark(X1), mark(X2))) MARK(x(X1, X2)) -> ACTIVE(x(mark(X1), mark(X2))) MARK(U84(X1, X2, X3)) -> ACTIVE(U84(mark(X1), X2, X3)) MARK(U71(X1, X2)) -> ACTIVE(U71(mark(X1), X2)) MARK(U72(X1, X2)) -> ACTIVE(U72(mark(X1), X2)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = x_1 POL( U101_3(x_1, ..., x_3) ) = 2 POL( U102_3(x_1, ..., x_3) ) = 2 POL( U103_3(x_1, ..., x_3) ) = 2 POL( U104_3(x_1, ..., x_3) ) = max{0, -2} POL( U11_3(x_1, ..., x_3) ) = 2 POL( U12_3(x_1, ..., x_3) ) = 2 POL( U13_3(x_1, ..., x_3) ) = 2 POL( U14_3(x_1, ..., x_3) ) = 2 POL( U15_2(x_1, x_2) ) = 2 POL( U21_2(x_1, x_2) ) = 2 POL( U22_2(x_1, x_2) ) = 2 POL( U31_3(x_1, ..., x_3) ) = 2 POL( U32_3(x_1, ..., x_3) ) = 2 POL( U33_3(x_1, ..., x_3) ) = 2 POL( U34_3(x_1, ..., x_3) ) = 2 POL( U35_2(x_1, x_2) ) = 2 POL( U41_2(x_1, x_2) ) = 2 POL( U61_2(x_1, x_2) ) = 2 POL( U71_2(x_1, x_2) ) = max{0, -2} POL( U72_2(x_1, x_2) ) = max{0, -2} POL( U81_3(x_1, ..., x_3) ) = 2 POL( U82_3(x_1, ..., x_3) ) = 2 POL( U83_3(x_1, ..., x_3) ) = 2 POL( U84_3(x_1, ..., x_3) ) = 0 POL( U91_2(x_1, x_2) ) = 2 POL( plus_2(x_1, x_2) ) = 0 POL( x_2(x_1, x_2) ) = 0 POL( mark_1(x_1) ) = 2x_1 + 2 POL( active_1(x_1) ) = max{0, -2} POL( tt ) = 0 POL( isNatKind_1(x_1) ) = 2 POL( isNat_1(x_1) ) = 2 POL( U16_1(x_1) ) = 2 POL( U23_1(x_1) ) = max{0, x_1 - 2} POL( U36_1(x_1) ) = max{0, -2} POL( U42_1(x_1) ) = max{0, x_1 - 2} POL( U62_1(x_1) ) = max{0, x_1 - 2} POL( s_1(x_1) ) = max{0, x_1 - 2} POL( U92_1(x_1) ) = max{0, -2} POL( U51_1(x_1) ) = max{0, x_1 - 2} POL( 0 ) = 0 POL( MARK_1(x_1) ) = 2 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) ---------------------------------------- (276) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U101(tt, M, N)) -> MARK(U102(isNatKind(M), M, N)) MARK(U102(X1, X2, X3)) -> ACTIVE(U102(mark(X1), X2, X3)) ACTIVE(U102(tt, M, N)) -> MARK(U103(isNat(N), M, N)) MARK(U103(X1, X2, X3)) -> ACTIVE(U103(mark(X1), X2, X3)) ACTIVE(U103(tt, M, N)) -> MARK(U104(isNatKind(N), M, N)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(U101(X1, X2, X3)) -> ACTIVE(U101(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) MARK(U62(X)) -> MARK(X) ACTIVE(U81(tt, M, N)) -> MARK(U82(isNatKind(M), M, N)) MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) ACTIVE(U82(tt, M, N)) -> MARK(U83(isNat(N), M, N)) MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) ACTIVE(U83(tt, M, N)) -> MARK(U84(isNatKind(N), M, N)) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) MARK(U61(X1, X2)) -> MARK(X1) MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) MARK(U91(X1, X2)) -> ACTIVE(U91(mark(X1), X2)) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (277) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (278) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U102(X1, X2, X3)) -> ACTIVE(U102(mark(X1), X2, X3)) ACTIVE(U101(tt, M, N)) -> MARK(U102(isNatKind(M), M, N)) ACTIVE(U102(tt, M, N)) -> MARK(U103(isNat(N), M, N)) MARK(U103(X1, X2, X3)) -> ACTIVE(U103(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(U101(X1, X2, X3)) -> ACTIVE(U101(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) MARK(U62(X)) -> MARK(X) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U81(tt, M, N)) -> MARK(U82(isNatKind(M), M, N)) MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) ACTIVE(U82(tt, M, N)) -> MARK(U83(isNat(N), M, N)) MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) MARK(U61(X1, X2)) -> MARK(X1) MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) MARK(U91(X1, X2)) -> ACTIVE(U91(mark(X1), X2)) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (279) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U103(X1, X2, X3)) -> ACTIVE(U103(mark(X1), X2, X3)) MARK(U83(X1, X2, X3)) -> ACTIVE(U83(mark(X1), X2, X3)) MARK(U91(X1, X2)) -> ACTIVE(U91(mark(X1), X2)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, 2x_1 - 1} POL( U101_3(x_1, ..., x_3) ) = 1 POL( U102_3(x_1, ..., x_3) ) = 1 POL( U103_3(x_1, ..., x_3) ) = max{0, -2} POL( U11_3(x_1, ..., x_3) ) = 1 POL( U12_3(x_1, ..., x_3) ) = 1 POL( U13_3(x_1, ..., x_3) ) = 1 POL( U14_3(x_1, ..., x_3) ) = 1 POL( U15_2(x_1, x_2) ) = 1 POL( U21_2(x_1, x_2) ) = 1 POL( U22_2(x_1, x_2) ) = 1 POL( U31_3(x_1, ..., x_3) ) = 1 POL( U32_3(x_1, ..., x_3) ) = 1 POL( U33_3(x_1, ..., x_3) ) = 1 POL( U34_3(x_1, ..., x_3) ) = 1 POL( U35_2(x_1, x_2) ) = 1 POL( U41_2(x_1, x_2) ) = 1 POL( U61_2(x_1, x_2) ) = 1 POL( U81_3(x_1, ..., x_3) ) = 1 POL( U82_3(x_1, ..., x_3) ) = 1 POL( U83_3(x_1, ..., x_3) ) = 0 POL( U91_2(x_1, x_2) ) = max{0, -2} POL( mark_1(x_1) ) = 2 POL( active_1(x_1) ) = max{0, x_1 - 2} POL( tt ) = 2 POL( isNatKind_1(x_1) ) = 1 POL( isNat_1(x_1) ) = 1 POL( U104_3(x_1, ..., x_3) ) = 2 POL( plus_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( x_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( U16_1(x_1) ) = 0 POL( U23_1(x_1) ) = 2 POL( U36_1(x_1) ) = max{0, x_1 - 2} POL( U42_1(x_1) ) = max{0, -2} POL( U62_1(x_1) ) = 2 POL( U71_2(x_1, x_2) ) = max{0, x_1 + 2x_2 - 2} POL( U72_2(x_1, x_2) ) = 2x_1 + 2 POL( U84_3(x_1, ..., x_3) ) = 2x_1 + x_2 + x_3 + 2 POL( s_1(x_1) ) = max{0, 2x_1 - 2} POL( U92_1(x_1) ) = 2 POL( U51_1(x_1) ) = 2 POL( 0 ) = 0 POL( MARK_1(x_1) ) = 1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) ---------------------------------------- (280) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U102(X1, X2, X3)) -> ACTIVE(U102(mark(X1), X2, X3)) ACTIVE(U101(tt, M, N)) -> MARK(U102(isNatKind(M), M, N)) ACTIVE(U102(tt, M, N)) -> MARK(U103(isNat(N), M, N)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(U101(X1, X2, X3)) -> ACTIVE(U101(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) MARK(U62(X)) -> MARK(X) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U81(tt, M, N)) -> MARK(U82(isNatKind(M), M, N)) MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) ACTIVE(U82(tt, M, N)) -> MARK(U83(isNat(N), M, N)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) MARK(U61(X1, X2)) -> MARK(X1) MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (281) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (282) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U101(tt, M, N)) -> MARK(U102(isNatKind(M), M, N)) MARK(U102(X1, X2, X3)) -> ACTIVE(U102(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(U101(X1, X2, X3)) -> ACTIVE(U101(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) MARK(U62(X)) -> MARK(X) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U81(tt, M, N)) -> MARK(U82(isNatKind(M), M, N)) MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) MARK(U61(X1, X2)) -> MARK(X1) MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (283) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U102(X1, X2, X3)) -> ACTIVE(U102(mark(X1), X2, X3)) MARK(U82(X1, X2, X3)) -> ACTIVE(U82(mark(X1), X2, X3)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, x_1 - 1} POL( U101_3(x_1, ..., x_3) ) = 2 POL( U102_3(x_1, ..., x_3) ) = 0 POL( U11_3(x_1, ..., x_3) ) = 2 POL( U12_3(x_1, ..., x_3) ) = 2 POL( U13_3(x_1, ..., x_3) ) = 2 POL( U14_3(x_1, ..., x_3) ) = 2 POL( U15_2(x_1, x_2) ) = 2 POL( U21_2(x_1, x_2) ) = 2 POL( U22_2(x_1, x_2) ) = 2 POL( U31_3(x_1, ..., x_3) ) = 2 POL( U32_3(x_1, ..., x_3) ) = 2 POL( U33_3(x_1, ..., x_3) ) = 2 POL( U34_3(x_1, ..., x_3) ) = 2 POL( U35_2(x_1, x_2) ) = 2 POL( U41_2(x_1, x_2) ) = 2 POL( U61_2(x_1, x_2) ) = 2 POL( U81_3(x_1, ..., x_3) ) = 2 POL( U82_3(x_1, ..., x_3) ) = max{0, -2} POL( mark_1(x_1) ) = 2 POL( active_1(x_1) ) = x_1 + 2 POL( tt ) = 0 POL( isNatKind_1(x_1) ) = 2 POL( U103_3(x_1, ..., x_3) ) = max{0, x_2 - 1} POL( isNat_1(x_1) ) = 2 POL( U104_3(x_1, ..., x_3) ) = 0 POL( plus_2(x_1, x_2) ) = max{0, x_1 - 2} POL( x_2(x_1, x_2) ) = max{0, x_1 - 2} POL( U16_1(x_1) ) = 2x_1 + 2 POL( U23_1(x_1) ) = max{0, -2} POL( U36_1(x_1) ) = max{0, x_1 - 2} POL( U42_1(x_1) ) = 1 POL( U62_1(x_1) ) = x_1 + 2 POL( U71_2(x_1, x_2) ) = x_1 + 2x_2 + 2 POL( U72_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} POL( U83_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 POL( U84_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 + 2x_3 - 2} POL( s_1(x_1) ) = x_1 + 2 POL( U91_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} POL( U92_1(x_1) ) = 2 POL( U51_1(x_1) ) = max{0, x_1 - 2} POL( 0 ) = 0 POL( MARK_1(x_1) ) = 1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) ---------------------------------------- (284) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U101(tt, M, N)) -> MARK(U102(isNatKind(M), M, N)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(U101(X1, X2, X3)) -> ACTIVE(U101(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) MARK(U62(X)) -> MARK(X) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U81(tt, M, N)) -> MARK(U82(isNatKind(M), M, N)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) MARK(U61(X1, X2)) -> MARK(X1) MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (285) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes. ---------------------------------------- (286) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(U101(X1, X2, X3)) -> ACTIVE(U101(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) MARK(U62(X)) -> MARK(X) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) MARK(U61(X1, X2)) -> MARK(X1) MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (287) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U81(X1, X2, X3)) -> ACTIVE(U81(mark(X1), X2, X3)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, -2} POL( U101_3(x_1, ..., x_3) ) = x_1 + x_2 + x_3 + 1 POL( U11_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U12_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U13_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U14_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U15_2(x_1, x_2) ) = 2x_1 + 1 POL( U21_2(x_1, x_2) ) = 2x_1 + 1 POL( U22_2(x_1, x_2) ) = 2x_1 + 1 POL( U31_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U32_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U33_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U34_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U35_2(x_1, x_2) ) = 2x_1 + 1 POL( U41_2(x_1, x_2) ) = 2x_1 + 1 POL( U61_2(x_1, x_2) ) = 2x_1 + 1 POL( U81_3(x_1, ..., x_3) ) = 2x_1 + x_3 + 2 POL( mark_1(x_1) ) = 0 POL( U102_3(x_1, ..., x_3) ) = max{0, 2x_1 + x_3 - 1} POL( active_1(x_1) ) = max{0, x_1 - 1} POL( tt ) = 0 POL( isNatKind_1(x_1) ) = 0 POL( U103_3(x_1, ..., x_3) ) = x_2 + 2 POL( isNat_1(x_1) ) = 0 POL( U104_3(x_1, ..., x_3) ) = 2x_1 + 2 POL( plus_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 1} POL( x_2(x_1, x_2) ) = max{0, 2x_1 + x_2 - 2} POL( U16_1(x_1) ) = x_1 + 1 POL( U23_1(x_1) ) = x_1 + 1 POL( U36_1(x_1) ) = 2x_1 + 1 POL( U42_1(x_1) ) = x_1 + 1 POL( U62_1(x_1) ) = 2x_1 + 1 POL( U71_2(x_1, x_2) ) = max{0, x_1 + 2x_2 - 2} POL( U72_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( U82_3(x_1, ..., x_3) ) = 2 POL( U83_3(x_1, ..., x_3) ) = 2 POL( U84_3(x_1, ..., x_3) ) = 2 POL( s_1(x_1) ) = max{0, x_1 - 2} POL( U91_2(x_1, x_2) ) = x_1 + 2 POL( U92_1(x_1) ) = 0 POL( U51_1(x_1) ) = x_1 + 1 POL( 0 ) = 0 POL( MARK_1(x_1) ) = max{0, x_1 - 1} The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: none ---------------------------------------- (288) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(U101(X1, X2, X3)) -> ACTIVE(U101(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) MARK(U62(X)) -> MARK(X) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) MARK(U61(X1, X2)) -> MARK(X1) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (289) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U101(X1, X2, X3)) -> ACTIVE(U101(mark(X1), X2, X3)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = x_1 + 1 POL( U101_3(x_1, ..., x_3) ) = 0 POL( U11_3(x_1, ..., x_3) ) = 1 POL( U12_3(x_1, ..., x_3) ) = 1 POL( U13_3(x_1, ..., x_3) ) = 1 POL( U14_3(x_1, ..., x_3) ) = 1 POL( U15_2(x_1, x_2) ) = 1 POL( U21_2(x_1, x_2) ) = 1 POL( U22_2(x_1, x_2) ) = 1 POL( U31_3(x_1, ..., x_3) ) = 1 POL( U32_3(x_1, ..., x_3) ) = 1 POL( U33_3(x_1, ..., x_3) ) = 1 POL( U34_3(x_1, ..., x_3) ) = 1 POL( U35_2(x_1, x_2) ) = 1 POL( U41_2(x_1, x_2) ) = 1 POL( U61_2(x_1, x_2) ) = 1 POL( mark_1(x_1) ) = 2 POL( U102_3(x_1, ..., x_3) ) = max{0, 2x_2 - 2} POL( active_1(x_1) ) = max{0, 2x_1 - 2} POL( tt ) = 0 POL( isNatKind_1(x_1) ) = 1 POL( U103_3(x_1, ..., x_3) ) = max{0, x_3 - 2} POL( isNat_1(x_1) ) = 1 POL( U104_3(x_1, ..., x_3) ) = max{0, x_2 + x_3 - 1} POL( plus_2(x_1, x_2) ) = max{0, x_2 - 1} POL( x_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} POL( U16_1(x_1) ) = max{0, 2x_1 - 2} POL( U23_1(x_1) ) = 2 POL( U36_1(x_1) ) = max{0, 2x_1 - 2} POL( U42_1(x_1) ) = max{0, 2x_1 - 2} POL( U62_1(x_1) ) = max{0, 2x_1 - 2} POL( U71_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( U72_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( U81_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 - 2} POL( U82_3(x_1, ..., x_3) ) = max{0, x_3 - 2} POL( U83_3(x_1, ..., x_3) ) = max{0, x_2 + x_3 - 1} POL( U84_3(x_1, ..., x_3) ) = 2x_1 + 2 POL( s_1(x_1) ) = max{0, x_1 - 2} POL( U91_2(x_1, x_2) ) = x_2 + 2 POL( U92_1(x_1) ) = 2 POL( U51_1(x_1) ) = max{0, x_1 - 2} POL( 0 ) = 0 POL( MARK_1(x_1) ) = 2 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) ---------------------------------------- (290) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) MARK(U62(X)) -> MARK(X) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) MARK(U61(X1, X2)) -> MARK(X1) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (291) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U61(X1, X2)) -> MARK(X1) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(ACTIVE(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U11(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(tt) = [[0A]] >>> <<< POL(MARK(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U12(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(isNatKind(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U13(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U14(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U15(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(isNat(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U16(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U21(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U22(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U23(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U41(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U31(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U32(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U33(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U34(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U35(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U36(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U42(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U61(x_1, x_2)) = [[-I]] + [[1A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U62(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U51(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(s(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(x(x_1, x_2)) = [[-I]] + [[1A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U102(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(active(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U101(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U103(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U104(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U71(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U72(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U81(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U82(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U83(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U84(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U91(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U92(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(0) = [[0A]] >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) ---------------------------------------- (292) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) MARK(U62(X)) -> MARK(X) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (293) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. ACTIVE(U61(tt, V2)) -> MARK(U62(isNatKind(V2))) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U11(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(tt) = [[0A]] >>> <<< POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U12(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(isNatKind(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(mark(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U13(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U14(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U15(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(isNat(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U16(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U21(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U22(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U23(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U41(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U31(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U32(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U33(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U34(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U35(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U36(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U42(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U61(x_1, x_2)) = [[1A]] + [[-I]] * x_1 + [[1A]] * x_2 >>> <<< POL(U62(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U51(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(s(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(x(x_1, x_2)) = [[1A]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U102(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(active(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U101(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U103(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U104(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U71(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U72(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U81(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U82(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U83(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U84(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U91(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U92(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(0) = [[0A]] >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) ---------------------------------------- (294) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U62(X)) -> MARK(X) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (295) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U61(X1, X2)) -> ACTIVE(U61(mark(X1), X2)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, 2x_1 - 1} POL( U11_3(x_1, ..., x_3) ) = 1 POL( U12_3(x_1, ..., x_3) ) = 1 POL( U13_3(x_1, ..., x_3) ) = 1 POL( U14_3(x_1, ..., x_3) ) = 1 POL( U15_2(x_1, x_2) ) = 1 POL( U21_2(x_1, x_2) ) = 1 POL( U22_2(x_1, x_2) ) = 1 POL( U31_3(x_1, ..., x_3) ) = 1 POL( U32_3(x_1, ..., x_3) ) = 1 POL( U33_3(x_1, ..., x_3) ) = 1 POL( U34_3(x_1, ..., x_3) ) = 1 POL( U35_2(x_1, x_2) ) = 1 POL( U41_2(x_1, x_2) ) = 1 POL( U61_2(x_1, x_2) ) = max{0, -2} POL( mark_1(x_1) ) = max{0, -2} POL( U102_3(x_1, ..., x_3) ) = max{0, x_2 + x_3 - 2} POL( active_1(x_1) ) = x_1 + 2 POL( U101_3(x_1, ..., x_3) ) = x_2 + 2 POL( tt ) = 0 POL( isNatKind_1(x_1) ) = 1 POL( U103_3(x_1, ..., x_3) ) = x_2 + x_3 + 2 POL( isNat_1(x_1) ) = 1 POL( U104_3(x_1, ..., x_3) ) = 2 POL( plus_2(x_1, x_2) ) = 2 POL( x_2(x_1, x_2) ) = max{0, x_1 - 2} POL( U16_1(x_1) ) = max{0, -2} POL( U23_1(x_1) ) = max{0, -2} POL( U36_1(x_1) ) = max{0, x_1 - 2} POL( U42_1(x_1) ) = max{0, x_1 - 2} POL( U62_1(x_1) ) = 2 POL( U71_2(x_1, x_2) ) = 2 POL( U72_2(x_1, x_2) ) = x_1 + 2 POL( U81_3(x_1, ..., x_3) ) = 2 POL( U82_3(x_1, ..., x_3) ) = max{0, x_2 + 2x_3 - 2} POL( U83_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + 2 POL( U84_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 + 2 POL( s_1(x_1) ) = 2 POL( U91_2(x_1, x_2) ) = x_2 + 2 POL( U92_1(x_1) ) = 0 POL( U51_1(x_1) ) = max{0, -2} POL( 0 ) = 0 POL( MARK_1(x_1) ) = 1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) ---------------------------------------- (296) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U62(X)) -> MARK(X) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) ACTIVE(isNatKind(x(V1, V2))) -> MARK(U61(isNatKind(V1), V2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (297) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (298) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> MARK(X) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) MARK(U62(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (299) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U62(X)) -> MARK(X) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, -2} POL( U11_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U12_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U13_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U14_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U15_2(x_1, x_2) ) = 2x_1 + 1 POL( U21_2(x_1, x_2) ) = 2x_1 + 1 POL( U22_2(x_1, x_2) ) = x_1 + 1 POL( U31_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U32_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U33_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U34_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U35_2(x_1, x_2) ) = x_1 + 1 POL( U41_2(x_1, x_2) ) = x_1 + 1 POL( mark_1(x_1) ) = max{0, 2x_1 - 2} POL( U102_3(x_1, ..., x_3) ) = max{0, x_2 - 2} POL( active_1(x_1) ) = 2x_1 + 2 POL( U101_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} POL( tt ) = 0 POL( isNatKind_1(x_1) ) = 0 POL( U103_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} POL( isNat_1(x_1) ) = 0 POL( U104_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} POL( plus_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( x_2(x_1, x_2) ) = 0 POL( U16_1(x_1) ) = x_1 + 1 POL( U23_1(x_1) ) = 2x_1 + 1 POL( U36_1(x_1) ) = 2x_1 + 1 POL( U42_1(x_1) ) = x_1 + 1 POL( U61_2(x_1, x_2) ) = 2 POL( U62_1(x_1) ) = x_1 + 2 POL( U71_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( U72_2(x_1, x_2) ) = max{0, x_1 - 2} POL( U81_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 + 2 POL( U82_3(x_1, ..., x_3) ) = 2x_2 + x_3 + 2 POL( U83_3(x_1, ..., x_3) ) = 2 POL( U84_3(x_1, ..., x_3) ) = x_3 + 2 POL( s_1(x_1) ) = max{0, 2x_1 - 2} POL( U91_2(x_1, x_2) ) = max{0, 2x_2 - 2} POL( U92_1(x_1) ) = 2 POL( U51_1(x_1) ) = x_1 + 1 POL( 0 ) = 2 POL( MARK_1(x_1) ) = max{0, 2x_1 - 2} The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: none ---------------------------------------- (300) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> MARK(X) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U31(X1, X2, X3)) -> MARK(X1) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (301) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U31(X1, X2, X3)) -> MARK(X1) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U12(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(mark(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U11(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(tt) = [[0A]] >>> <<< POL(isNatKind(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U41(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U13(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U14(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U15(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(isNat(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U16(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U21(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U22(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U23(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U31(x_1, x_2, x_3)) = [[1A]] + [[1A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U32(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U33(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U34(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U35(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U36(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U42(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U51(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(s(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(x(x_1, x_2)) = [[1A]] + [[1A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U102(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(active(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U101(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U103(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U104(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U61(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U62(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U71(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U72(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U81(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U82(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U83(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U84(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U91(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U92(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(0) = [[0A]] >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) ---------------------------------------- (302) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> MARK(X) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U32(X1, X2, X3)) -> MARK(X1) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (303) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U32(X1, X2, X3)) -> MARK(X1) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U12(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U11(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(tt) = [[0A]] >>> <<< POL(isNatKind(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(plus(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U41(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U13(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U14(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U15(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(isNat(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U16(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U21(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U22(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U23(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U31(x_1, x_2, x_3)) = [[0A]] + [[1A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U32(x_1, x_2, x_3)) = [[1A]] + [[1A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U33(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U34(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U35(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U36(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U42(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U51(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(s(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(x(x_1, x_2)) = [[-I]] + [[1A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U102(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(active(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U101(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U103(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U104(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U61(x_1, x_2)) = [[-I]] + [[1A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U62(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U71(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U72(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U81(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U82(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U83(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U84(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U91(x_1, x_2)) = [[1A]] + [[-I]] * x_1 + [[-I]] * x_2 >>> <<< POL(U92(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(0) = [[0A]] >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) ---------------------------------------- (304) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) MARK(U36(X)) -> MARK(X) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (305) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. ACTIVE(U35(tt, V2)) -> MARK(U36(isNat(V2))) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U12(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U11(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(tt) = [[0A]] >>> <<< POL(isNatKind(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U41(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U13(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U14(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U15(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(isNat(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U16(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U21(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U22(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U23(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U31(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U32(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U33(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U34(x_1, x_2, x_3)) = [[0A]] + [[1A]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U35(x_1, x_2)) = [[1A]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U36(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U42(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U51(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(s(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(x(x_1, x_2)) = [[0A]] + [[1A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U102(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(active(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U101(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U103(x_1, x_2, x_3)) = [[-I]] + [[1A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U104(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U61(x_1, x_2)) = [[0A]] + [[1A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U62(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U71(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U72(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U81(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U82(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U83(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U84(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U91(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[-I]] * x_2 >>> <<< POL(U92(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(0) = [[0A]] >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) ---------------------------------------- (306) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) MARK(U36(X)) -> MARK(X) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (307) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U35(X1, X2)) -> ACTIVE(U35(mark(X1), X2)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, 2x_1 - 2} POL( U11_3(x_1, ..., x_3) ) = 2 POL( U12_3(x_1, ..., x_3) ) = 2 POL( U13_3(x_1, ..., x_3) ) = 2 POL( U14_3(x_1, ..., x_3) ) = 2 POL( U15_2(x_1, x_2) ) = 2 POL( U21_2(x_1, x_2) ) = 2 POL( U22_2(x_1, x_2) ) = 2 POL( U31_3(x_1, ..., x_3) ) = 2 POL( U32_3(x_1, ..., x_3) ) = 2 POL( U33_3(x_1, ..., x_3) ) = 2 POL( U34_3(x_1, ..., x_3) ) = 2 POL( U35_2(x_1, x_2) ) = max{0, -2} POL( U41_2(x_1, x_2) ) = 2 POL( mark_1(x_1) ) = max{0, 2x_1 - 2} POL( U102_3(x_1, ..., x_3) ) = 2x_1 + 2 POL( active_1(x_1) ) = 2 POL( U101_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_2 - 2} POL( tt ) = 0 POL( isNatKind_1(x_1) ) = 2 POL( U103_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} POL( isNat_1(x_1) ) = 2 POL( U104_3(x_1, ..., x_3) ) = max{0, 2x_1 - 2} POL( plus_2(x_1, x_2) ) = max{0, x_1 - 2} POL( x_2(x_1, x_2) ) = max{0, x_1 - 2} POL( U16_1(x_1) ) = max{0, x_1 - 2} POL( U23_1(x_1) ) = max{0, 2x_1 - 2} POL( U36_1(x_1) ) = max{0, 2x_1 - 2} POL( U42_1(x_1) ) = max{0, 2x_1 - 2} POL( U61_2(x_1, x_2) ) = max{0, x_2 - 1} POL( U62_1(x_1) ) = 2 POL( U71_2(x_1, x_2) ) = max{0, x_1 + 2x_2 - 1} POL( U72_2(x_1, x_2) ) = 2x_1 + 2 POL( U81_3(x_1, ..., x_3) ) = x_2 + x_3 + 1 POL( U82_3(x_1, ..., x_3) ) = max{0, 2x_2 - 2} POL( U83_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_2 - 2} POL( U84_3(x_1, ..., x_3) ) = 2x_3 + 2 POL( s_1(x_1) ) = max{0, x_1 - 2} POL( U91_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( U92_1(x_1) ) = max{0, 2x_1 - 2} POL( U51_1(x_1) ) = max{0, 2x_1 - 2} POL( 0 ) = 0 POL( MARK_1(x_1) ) = 2 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) ---------------------------------------- (308) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U36(X)) -> MARK(X) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (309) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U36(X)) -> MARK(X) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, -2} POL( U11_3(x_1, ..., x_3) ) = x_1 + 1 POL( U12_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U13_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U14_3(x_1, ..., x_3) ) = x_1 + 1 POL( U15_2(x_1, x_2) ) = 2x_1 + 1 POL( U21_2(x_1, x_2) ) = 2x_1 + 1 POL( U22_2(x_1, x_2) ) = 2x_1 + 1 POL( U31_3(x_1, ..., x_3) ) = max{0, -2} POL( U32_3(x_1, ..., x_3) ) = 1 POL( U33_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U34_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U41_2(x_1, x_2) ) = 2x_1 + 1 POL( mark_1(x_1) ) = 0 POL( U102_3(x_1, ..., x_3) ) = 2x_1 + x_2 + x_3 + 1 POL( active_1(x_1) ) = x_1 + 1 POL( U101_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} POL( tt ) = 0 POL( isNatKind_1(x_1) ) = 0 POL( U103_3(x_1, ..., x_3) ) = 2 POL( isNat_1(x_1) ) = 0 POL( U104_3(x_1, ..., x_3) ) = 2x_3 + 2 POL( plus_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} POL( x_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( U16_1(x_1) ) = x_1 + 1 POL( U23_1(x_1) ) = 2x_1 + 1 POL( U35_2(x_1, x_2) ) = 2x_1 + 1 POL( U36_1(x_1) ) = 2x_1 + 2 POL( U42_1(x_1) ) = x_1 + 1 POL( U61_2(x_1, x_2) ) = 2 POL( U62_1(x_1) ) = 1 POL( U71_2(x_1, x_2) ) = max{0, 2x_2 - 1} POL( U72_2(x_1, x_2) ) = max{0, x_1 - 2} POL( U81_3(x_1, ..., x_3) ) = x_2 + 2x_3 + 2 POL( U82_3(x_1, ..., x_3) ) = 2 POL( U83_3(x_1, ..., x_3) ) = x_3 + 2 POL( U84_3(x_1, ..., x_3) ) = x_2 + 2 POL( s_1(x_1) ) = 0 POL( U91_2(x_1, x_2) ) = max{0, x_2 - 2} POL( U92_1(x_1) ) = 1 POL( U51_1(x_1) ) = 2x_1 + 1 POL( 0 ) = 1 POL( MARK_1(x_1) ) = max{0, x_1 - 1} The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: none ---------------------------------------- (310) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U13(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (311) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U13(X1, X2, X3)) -> MARK(X1) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U12(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(mark(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U11(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(tt) = [[0A]] >>> <<< POL(isNatKind(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U41(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U13(x_1, x_2, x_3)) = [[1A]] + [[1A]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(U14(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(U15(x_1, x_2)) = [[1A]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(isNat(x_1)) = [[1A]] + [[-I]] * x_1 >>> <<< POL(U16(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U21(x_1, x_2)) = [[1A]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U22(x_1, x_2)) = [[1A]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U23(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U31(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(U32(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(U33(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(U34(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(U35(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U42(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U51(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(s(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(x(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U102(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(active(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U101(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U103(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U104(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U36(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U61(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[-I]] * x_2 >>> <<< POL(U62(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U71(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U72(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U81(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U82(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U83(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U84(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U91(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U92(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(0) = [[0A]] >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) ---------------------------------------- (312) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> MARK(X1) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (313) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U12(X1, X2, X3)) -> MARK(X1) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U12(x_1, x_2, x_3)) = [[1A]] + [[1A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(mark(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U11(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(tt) = [[0A]] >>> <<< POL(isNatKind(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(plus(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U41(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U13(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U14(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U15(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(isNat(x_1)) = [[0A]] + [[1A]] * x_1 >>> <<< POL(U16(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U21(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U22(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U23(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U31(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U32(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U33(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U34(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U35(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U42(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U51(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(s(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(x(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U102(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(active(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U101(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U103(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U104(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U36(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U61(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U62(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U71(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U72(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U81(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U82(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U83(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U84(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U91(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U92(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(0) = [[0A]] >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) ---------------------------------------- (314) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U34(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (315) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U34(X1, X2, X3)) -> MARK(X1) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U12(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(ACTIVE(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(mark(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U11(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(tt) = [[0A]] >>> <<< POL(isNatKind(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(plus(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U41(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U13(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U14(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U15(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(isNat(x_1)) = [[0A]] + [[1A]] * x_1 >>> <<< POL(U16(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U21(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U22(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U23(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U31(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U32(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U33(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U34(x_1, x_2, x_3)) = [[1A]] + [[1A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U35(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U42(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U51(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(s(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(x(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U102(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(active(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U101(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U103(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U104(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U36(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U61(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U62(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U71(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U72(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U81(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U82(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U83(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U84(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U91(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U92(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(0) = [[0A]] >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) ---------------------------------------- (316) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U21(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (317) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U21(X1, X2)) -> MARK(X1) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U12(x_1, x_2, x_3)) = [[2A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(mark(x_1)) = [[2A]] + [[0A]] * x_1 >>> <<< POL(U11(x_1, x_2, x_3)) = [[2A]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(tt) = [[0A]] >>> <<< POL(isNatKind(x_1)) = [[2A]] + [[0A]] * x_1 >>> <<< POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U41(x_1, x_2)) = [[2A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U13(x_1, x_2, x_3)) = [[2A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U14(x_1, x_2, x_3)) = [[2A]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U15(x_1, x_2)) = [[2A]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(isNat(x_1)) = [[2A]] + [[1A]] * x_1 >>> <<< POL(U16(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U21(x_1, x_2)) = [[3A]] + [[1A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U22(x_1, x_2)) = [[3A]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U23(x_1)) = [[3A]] + [[0A]] * x_1 >>> <<< POL(U31(x_1, x_2, x_3)) = [[2A]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U32(x_1, x_2, x_3)) = [[2A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U33(x_1, x_2, x_3)) = [[2A]] + [[0A]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U34(x_1, x_2, x_3)) = [[2A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U35(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U42(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U51(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(s(x_1)) = [[2A]] + [[0A]] * x_1 >>> <<< POL(x(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U102(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(active(x_1)) = [[2A]] + [[0A]] * x_1 >>> <<< POL(U101(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U103(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U104(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U36(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U61(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U62(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U71(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U72(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U81(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U82(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U83(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U84(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U91(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U92(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(0) = [[2A]] >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) ---------------------------------------- (318) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U11(X1, X2, X3)) -> MARK(X1) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (319) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U11(X1, X2, X3)) -> MARK(X1) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U12(x_1, x_2, x_3)) = [[0A]] + [[1A]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U11(x_1, x_2, x_3)) = [[1A]] + [[1A]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(tt) = [[0A]] >>> <<< POL(isNatKind(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(plus(x_1, x_2)) = [[1A]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U41(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U13(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(U14(x_1, x_2, x_3)) = [[0A]] + [[1A]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(U15(x_1, x_2)) = [[1A]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(isNat(x_1)) = [[1A]] + [[-I]] * x_1 >>> <<< POL(U16(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U21(x_1, x_2)) = [[1A]] + [[-I]] * x_1 + [[-I]] * x_2 >>> <<< POL(U22(x_1, x_2)) = [[1A]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U23(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U31(x_1, x_2, x_3)) = [[0A]] + [[1A]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(U32(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(U33(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(U34(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(U35(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U42(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U51(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(s(x_1)) = [[1A]] + [[0A]] * x_1 >>> <<< POL(x(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U102(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[-I]] * x_3 >>> <<< POL(active(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U101(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[-I]] * x_3 >>> <<< POL(U103(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[-I]] * x_3 >>> <<< POL(U104(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[-I]] * x_3 >>> <<< POL(U36(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U61(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[-I]] * x_2 >>> <<< POL(U62(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U71(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U72(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U81(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[-I]] * x_2 + [[0A]] * x_3 >>> <<< POL(U82(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[-I]] * x_2 + [[0A]] * x_3 >>> <<< POL(U83(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[-I]] * x_2 + [[0A]] * x_3 >>> <<< POL(U84(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[-I]] * x_2 + [[0A]] * x_3 >>> <<< POL(U91(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[-I]] * x_2 >>> <<< POL(U92(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(0) = [[0A]] >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) ---------------------------------------- (320) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U35(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (321) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U35(X1, X2)) -> MARK(X1) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(MARK(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U12(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(ACTIVE(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U11(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(tt) = [[0A]] >>> <<< POL(isNatKind(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U41(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U13(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U14(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U15(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(isNat(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U16(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U21(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U22(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U23(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U31(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U32(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U33(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U34(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[-I]] * x_3 >>> <<< POL(U35(x_1, x_2)) = [[0A]] + [[1A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U42(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U51(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(s(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(x(x_1, x_2)) = [[-I]] + [[1A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U102(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(active(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U101(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U103(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U104(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U36(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U61(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U62(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U71(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U72(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U81(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U82(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U83(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U84(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U91(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U92(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(0) = [[0A]] >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) ---------------------------------------- (322) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U34(tt, V1, V2)) -> MARK(U35(isNat(V1), V2)) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (323) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (324) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (325) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U34(X1, X2, X3)) -> ACTIVE(U34(mark(X1), X2, X3)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, 2x_1 - 1} POL( U11_3(x_1, ..., x_3) ) = 1 POL( U12_3(x_1, ..., x_3) ) = 1 POL( U13_3(x_1, ..., x_3) ) = 1 POL( U14_3(x_1, ..., x_3) ) = 1 POL( U15_2(x_1, x_2) ) = 1 POL( U21_2(x_1, x_2) ) = 1 POL( U22_2(x_1, x_2) ) = 1 POL( U31_3(x_1, ..., x_3) ) = 1 POL( U32_3(x_1, ..., x_3) ) = 1 POL( U33_3(x_1, ..., x_3) ) = 1 POL( U34_3(x_1, ..., x_3) ) = max{0, -2} POL( U41_2(x_1, x_2) ) = 1 POL( mark_1(x_1) ) = max{0, -2} POL( U102_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_2 - 2} POL( active_1(x_1) ) = max{0, -2} POL( U101_3(x_1, ..., x_3) ) = max{0, x_1 + x_2 - 2} POL( tt ) = 0 POL( isNatKind_1(x_1) ) = 1 POL( U103_3(x_1, ..., x_3) ) = max{0, 2x_1 - 2} POL( isNat_1(x_1) ) = 1 POL( U104_3(x_1, ..., x_3) ) = max{0, x_2 + x_3 - 2} POL( plus_2(x_1, x_2) ) = max{0, x_1 - 2} POL( x_2(x_1, x_2) ) = max{0, x_2 - 2} POL( U16_1(x_1) ) = max{0, -2} POL( U23_1(x_1) ) = max{0, x_1 - 2} POL( U35_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} POL( U36_1(x_1) ) = 1 POL( U42_1(x_1) ) = max{0, -2} POL( U61_2(x_1, x_2) ) = 2x_1 + 2 POL( U62_1(x_1) ) = max{0, -2} POL( U71_2(x_1, x_2) ) = max{0, x_1 + x_2 - 1} POL( U72_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( U81_3(x_1, ..., x_3) ) = max{0, x_1 + x_2 + 2x_3 - 2} POL( U82_3(x_1, ..., x_3) ) = 2 POL( U83_3(x_1, ..., x_3) ) = 2x_1 + x_2 + x_3 + 2 POL( U84_3(x_1, ..., x_3) ) = max{0, 2x_2 - 2} POL( s_1(x_1) ) = max{0, x_1 - 2} POL( U91_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( U92_1(x_1) ) = 2 POL( U51_1(x_1) ) = max{0, x_1 - 2} POL( 0 ) = 0 POL( MARK_1(x_1) ) = 1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) ---------------------------------------- (326) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U33(tt, V1, V2)) -> MARK(U34(isNatKind(V2), V1, V2)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (327) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (328) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (329) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U33(X1, X2, X3)) -> ACTIVE(U33(mark(X1), X2, X3)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, x_1 - 1} POL( U11_3(x_1, ..., x_3) ) = 2 POL( U12_3(x_1, ..., x_3) ) = 2 POL( U13_3(x_1, ..., x_3) ) = 2 POL( U14_3(x_1, ..., x_3) ) = 2 POL( U15_2(x_1, x_2) ) = 2 POL( U21_2(x_1, x_2) ) = 2 POL( U22_2(x_1, x_2) ) = 2 POL( U31_3(x_1, ..., x_3) ) = 2 POL( U32_3(x_1, ..., x_3) ) = 2 POL( U33_3(x_1, ..., x_3) ) = 0 POL( U41_2(x_1, x_2) ) = 2 POL( mark_1(x_1) ) = 2 POL( U102_3(x_1, ..., x_3) ) = max{0, x_3 - 2} POL( active_1(x_1) ) = max{0, 2x_1 - 2} POL( U101_3(x_1, ..., x_3) ) = max{0, x_3 - 2} POL( tt ) = 0 POL( isNatKind_1(x_1) ) = 2 POL( U103_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} POL( isNat_1(x_1) ) = 2 POL( U104_3(x_1, ..., x_3) ) = 2 POL( plus_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( x_2(x_1, x_2) ) = max{0, -2} POL( U16_1(x_1) ) = max{0, -2} POL( U23_1(x_1) ) = max{0, -2} POL( U34_3(x_1, ..., x_3) ) = max{0, 2x_1 - 2} POL( U35_2(x_1, x_2) ) = max{0, 2x_1 + x_2 - 2} POL( U36_1(x_1) ) = 2 POL( U42_1(x_1) ) = 2 POL( U61_2(x_1, x_2) ) = 2x_2 + 2 POL( U62_1(x_1) ) = 2 POL( U71_2(x_1, x_2) ) = x_2 + 2 POL( U72_2(x_1, x_2) ) = max{0, x_2 - 2} POL( U81_3(x_1, ..., x_3) ) = 2 POL( U82_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 + 2x_3 - 2} POL( U83_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} POL( U84_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_2 + 2x_3 - 2} POL( s_1(x_1) ) = max{0, x_1 - 2} POL( U91_2(x_1, x_2) ) = 2x_2 + 2 POL( U92_1(x_1) ) = max{0, 2x_1 - 2} POL( U51_1(x_1) ) = max{0, -2} POL( 0 ) = 0 POL( MARK_1(x_1) ) = 1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) ---------------------------------------- (330) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (331) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. ACTIVE(U32(tt, V1, V2)) -> MARK(U33(isNatKind(V2), V1, V2)) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U12(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U11(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(tt) = [[0A]] >>> <<< POL(isNatKind(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U13(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U14(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U15(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(isNat(x_1)) = [[0A]] + [[1A]] * x_1 >>> <<< POL(U16(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(plus(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U41(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U21(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[1A]] * x_2 >>> <<< POL(U22(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U23(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U31(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(U32(x_1, x_2, x_3)) = [[1A]] + [[0A]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(U33(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(U42(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U51(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(s(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(x(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U102(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[-I]] * x_2 + [[0A]] * x_3 >>> <<< POL(active(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U101(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[-I]] * x_2 + [[0A]] * x_3 >>> <<< POL(U103(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[-I]] * x_2 + [[0A]] * x_3 >>> <<< POL(U104(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[-I]] * x_2 + [[0A]] * x_3 >>> <<< POL(U34(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[-I]] * x_2 + [[-I]] * x_3 >>> <<< POL(U35(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[-I]] * x_2 >>> <<< POL(U36(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U61(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U62(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U71(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U72(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U81(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U82(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U83(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U84(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U91(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[-I]] * x_2 >>> <<< POL(U92(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(0) = [[0A]] >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) ---------------------------------------- (332) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (333) QDPQMonotonicMRRProof (EQUIVALENT) 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. Strictly oriented dependency pairs: MARK(U32(X1, X2, X3)) -> ACTIVE(U32(mark(X1), X2, X3)) Used ordering: Polynomial interpretation [POLO]: POL(0) = 0 POL(ACTIVE(x_1)) = 2*x_1 POL(MARK(x_1)) = 2 POL(U101(x_1, x_2, x_3)) = 0 POL(U102(x_1, x_2, x_3)) = 0 POL(U103(x_1, x_2, x_3)) = 0 POL(U104(x_1, x_2, x_3)) = 0 POL(U11(x_1, x_2, x_3)) = 1 POL(U12(x_1, x_2, x_3)) = 1 POL(U13(x_1, x_2, x_3)) = 1 POL(U14(x_1, x_2, x_3)) = 1 POL(U15(x_1, x_2)) = 1 POL(U16(x_1)) = 0 POL(U21(x_1, x_2)) = 1 POL(U22(x_1, x_2)) = 1 POL(U23(x_1)) = 0 POL(U31(x_1, x_2, x_3)) = 1 POL(U32(x_1, x_2, x_3)) = 0 POL(U33(x_1, x_2, x_3)) = 0 POL(U34(x_1, x_2, x_3)) = 0 POL(U35(x_1, x_2)) = 0 POL(U36(x_1)) = 0 POL(U41(x_1, x_2)) = 1 POL(U42(x_1)) = 0 POL(U51(x_1)) = 0 POL(U61(x_1, x_2)) = 0 POL(U62(x_1)) = 0 POL(U71(x_1, x_2)) = 0 POL(U72(x_1, x_2)) = 0 POL(U81(x_1, x_2, x_3)) = 0 POL(U82(x_1, x_2, x_3)) = 0 POL(U83(x_1, x_2, x_3)) = 0 POL(U84(x_1, x_2, x_3)) = 0 POL(U91(x_1, x_2)) = 0 POL(U92(x_1)) = 0 POL(active(x_1)) = 0 POL(isNat(x_1)) = 1 POL(isNatKind(x_1)) = 1 POL(mark(x_1)) = 0 POL(plus(x_1, x_2)) = 0 POL(s(x_1)) = 0 POL(tt) = 0 POL(x(x_1, x_2)) = 0 ---------------------------------------- (334) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U31(tt, V1, V2)) -> MARK(U32(isNatKind(V1), V1, V2)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (335) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (336) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U33(X1, X2, X3)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (337) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U33(X1, X2, X3)) -> MARK(X1) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, -2} POL( U11_3(x_1, ..., x_3) ) = max{0, -2} POL( U12_3(x_1, ..., x_3) ) = 2x_1 + 1 POL( U13_3(x_1, ..., x_3) ) = max{0, -2} POL( U14_3(x_1, ..., x_3) ) = x_1 + 1 POL( U15_2(x_1, x_2) ) = 2x_1 + 1 POL( U21_2(x_1, x_2) ) = 0 POL( U22_2(x_1, x_2) ) = x_1 + 1 POL( U31_3(x_1, ..., x_3) ) = max{0, -2} POL( U41_2(x_1, x_2) ) = 2x_1 + 1 POL( mark_1(x_1) ) = max{0, -2} POL( U102_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} POL( active_1(x_1) ) = 2 POL( U101_3(x_1, ..., x_3) ) = 2 POL( tt ) = 1 POL( isNatKind_1(x_1) ) = 0 POL( U103_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} POL( isNat_1(x_1) ) = 0 POL( U104_3(x_1, ..., x_3) ) = max{0, 2x_1 + x_2 + 2x_3 - 2} POL( plus_2(x_1, x_2) ) = max{0, x_1 + 2x_2 - 1} POL( x_2(x_1, x_2) ) = max{0, 2x_2 - 2} POL( U16_1(x_1) ) = x_1 + 1 POL( U23_1(x_1) ) = 2x_1 + 1 POL( U32_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} POL( U33_3(x_1, ..., x_3) ) = 2x_1 + 2 POL( U34_3(x_1, ..., x_3) ) = max{0, x_2 - 2} POL( U35_2(x_1, x_2) ) = 2x_1 + 2 POL( U36_1(x_1) ) = 2 POL( U42_1(x_1) ) = 2x_1 + 1 POL( U61_2(x_1, x_2) ) = max{0, x_2 - 2} POL( U62_1(x_1) ) = max{0, -2} POL( U71_2(x_1, x_2) ) = x_2 + 2 POL( U72_2(x_1, x_2) ) = x_2 + 2 POL( U81_3(x_1, ..., x_3) ) = 2 POL( U82_3(x_1, ..., x_3) ) = 2 POL( U83_3(x_1, ..., x_3) ) = 2 POL( U84_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} POL( s_1(x_1) ) = x_1 + 2 POL( U91_2(x_1, x_2) ) = max{0, -2} POL( U92_1(x_1) ) = 1 POL( U51_1(x_1) ) = 2x_1 + 1 POL( 0 ) = 2 POL( MARK_1(x_1) ) = max{0, x_1 - 1} The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: none ---------------------------------------- (338) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U22(X1, X2)) -> MARK(X1) MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (339) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U31(X1, X2, X3)) -> ACTIVE(U31(mark(X1), X2, X3)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, 2x_1 - 2} POL( U11_3(x_1, ..., x_3) ) = 2 POL( U12_3(x_1, ..., x_3) ) = 2 POL( U13_3(x_1, ..., x_3) ) = 2 POL( U14_3(x_1, ..., x_3) ) = 2 POL( U15_2(x_1, x_2) ) = 2 POL( U21_2(x_1, x_2) ) = 2 POL( U22_2(x_1, x_2) ) = 2 POL( U31_3(x_1, ..., x_3) ) = max{0, -2} POL( U41_2(x_1, x_2) ) = 2 POL( mark_1(x_1) ) = max{0, -2} POL( U102_3(x_1, ..., x_3) ) = max{0, 2x_1 + x_3 - 2} POL( active_1(x_1) ) = max{0, x_1 - 2} POL( U101_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + 2 POL( tt ) = 0 POL( isNatKind_1(x_1) ) = 2 POL( U103_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_3 - 2} POL( isNat_1(x_1) ) = 2 POL( U104_3(x_1, ..., x_3) ) = max{0, 2x_1 + x_3 - 2} POL( plus_2(x_1, x_2) ) = max{0, -2} POL( x_2(x_1, x_2) ) = 2 POL( U16_1(x_1) ) = max{0, x_1 - 2} POL( U23_1(x_1) ) = x_1 + 2 POL( U32_3(x_1, ..., x_3) ) = max{0, x_1 + x_2 + 2x_3 - 2} POL( U33_3(x_1, ..., x_3) ) = x_1 + 2 POL( U34_3(x_1, ..., x_3) ) = x_1 + x_3 + 2 POL( U35_2(x_1, x_2) ) = max{0, x_2 - 2} POL( U36_1(x_1) ) = 0 POL( U42_1(x_1) ) = max{0, -2} POL( U61_2(x_1, x_2) ) = 2 POL( U62_1(x_1) ) = 0 POL( U71_2(x_1, x_2) ) = max{0, 2x_2 - 2} POL( U72_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} POL( U81_3(x_1, ..., x_3) ) = max{0, 2x_2 - 2} POL( U82_3(x_1, ..., x_3) ) = max{0, x_1 + x_3 - 2} POL( U83_3(x_1, ..., x_3) ) = x_1 + x_2 + x_3 + 2 POL( U84_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 - 2} POL( s_1(x_1) ) = max{0, x_1 - 2} POL( U91_2(x_1, x_2) ) = max{0, x_2 - 2} POL( U92_1(x_1) ) = 0 POL( U51_1(x_1) ) = 2 POL( 0 ) = 0 POL( MARK_1(x_1) ) = 2 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) ---------------------------------------- (340) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U22(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNat(x(V1, V2))) -> MARK(U31(isNatKind(V1), V1, V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (341) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (342) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U22(X1, X2)) -> MARK(X1) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (343) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U22(X1, X2)) -> MARK(X1) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U12(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(mark(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U11(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(tt) = [[0A]] >>> <<< POL(isNatKind(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U13(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U14(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U15(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(isNat(x_1)) = [[-I]] + [[1A]] * x_1 >>> <<< POL(U16(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U41(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U21(x_1, x_2)) = [[1A]] + [[-I]] * x_1 + [[1A]] * x_2 >>> <<< POL(U22(x_1, x_2)) = [[1A]] + [[1A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U23(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U42(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U51(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(s(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U102(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[-I]] * x_2 + [[0A]] * x_3 >>> <<< POL(active(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U101(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[-I]] * x_2 + [[0A]] * x_3 >>> <<< POL(U103(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[-I]] * x_2 + [[0A]] * x_3 >>> <<< POL(U104(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[-I]] * x_2 + [[0A]] * x_3 >>> <<< POL(x(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U31(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[1A]] * x_2 + [[-I]] * x_3 >>> <<< POL(U32(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[-I]] * x_3 >>> <<< POL(U33(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[-I]] * x_3 >>> <<< POL(U34(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[-I]] * x_3 >>> <<< POL(U35(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[-I]] * x_2 >>> <<< POL(U36(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U61(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U62(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U71(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U72(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U81(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U82(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U83(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U84(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U91(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U92(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(0) = [[0A]] >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) ---------------------------------------- (344) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U14(X1, X2, X3)) -> MARK(X1) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (345) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U14(X1, X2, X3)) -> MARK(X1) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(MARK(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U12(x_1, x_2, x_3)) = [[-I]] + [[1A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(ACTIVE(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U11(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(tt) = [[0A]] >>> <<< POL(isNatKind(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U13(x_1, x_2, x_3)) = [[0A]] + [[1A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U14(x_1, x_2, x_3)) = [[-I]] + [[1A]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U15(x_1, x_2)) = [[1A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(isNat(x_1)) = [[1A]] + [[0A]] * x_1 >>> <<< POL(U16(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U41(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U21(x_1, x_2)) = [[1A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U22(x_1, x_2)) = [[0A]] + [[1A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U23(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U42(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U51(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(s(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U102(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[2A]] * x_2 + [[0A]] * x_3 >>> <<< POL(active(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U101(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[2A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U103(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[2A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U104(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[2A]] * x_2 + [[0A]] * x_3 >>> <<< POL(x(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[2A]] * x_2 >>> <<< POL(U31(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[2A]] * x_3 >>> <<< POL(U32(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[2A]] * x_3 >>> <<< POL(U33(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U34(x_1, x_2, x_3)) = [[-I]] + [[1A]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U35(x_1, x_2)) = [[1A]] + [[-I]] * x_1 + [[1A]] * x_2 >>> <<< POL(U36(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U61(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[-I]] * x_2 >>> <<< POL(U62(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U71(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U72(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U81(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U82(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U83(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U84(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U91(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U92(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(0) = [[0A]] >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) ---------------------------------------- (346) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) MARK(U16(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (347) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. ACTIVE(U15(tt, V2)) -> MARK(U16(isNat(V2))) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(MARK(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U12(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(ACTIVE(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U11(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(tt) = [[1A]] >>> <<< POL(isNatKind(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U13(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U14(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U15(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(isNat(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U16(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U41(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U21(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U22(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U23(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U42(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U51(x_1)) = [[1A]] + [[0A]] * x_1 >>> <<< POL(s(x_1)) = [[1A]] + [[0A]] * x_1 >>> <<< POL(U102(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(active(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U101(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U103(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(U104(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[1A]] * x_3 >>> <<< POL(x(x_1, x_2)) = [[0A]] + [[1A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U31(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[-I]] * x_2 + [[0A]] * x_3 >>> <<< POL(U32(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[-I]] * x_2 + [[0A]] * x_3 >>> <<< POL(U33(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[-I]] * x_2 + [[0A]] * x_3 >>> <<< POL(U34(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[-I]] * x_2 + [[0A]] * x_3 >>> <<< POL(U35(x_1, x_2)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U36(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U61(x_1, x_2)) = [[-I]] + [[1A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U62(x_1)) = [[1A]] + [[-I]] * x_1 >>> <<< POL(U71(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U72(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U81(x_1, x_2, x_3)) = [[0A]] + [[0A]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U82(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U83(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U84(x_1, x_2, x_3)) = [[1A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U91(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U92(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(0) = [[1A]] >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) ---------------------------------------- (348) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) MARK(U16(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (349) QDPQMonotonicMRRProof (EQUIVALENT) 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. Strictly oriented dependency pairs: MARK(U15(X1, X2)) -> ACTIVE(U15(mark(X1), X2)) Used ordering: Polynomial interpretation [POLO]: POL(0) = 0 POL(ACTIVE(x_1)) = 2*x_1 POL(MARK(x_1)) = 2 POL(U101(x_1, x_2, x_3)) = 0 POL(U102(x_1, x_2, x_3)) = 0 POL(U103(x_1, x_2, x_3)) = 0 POL(U104(x_1, x_2, x_3)) = 0 POL(U11(x_1, x_2, x_3)) = 1 POL(U12(x_1, x_2, x_3)) = 1 POL(U13(x_1, x_2, x_3)) = 1 POL(U14(x_1, x_2, x_3)) = 1 POL(U15(x_1, x_2)) = 0 POL(U16(x_1)) = 0 POL(U21(x_1, x_2)) = 1 POL(U22(x_1, x_2)) = 1 POL(U23(x_1)) = 0 POL(U31(x_1, x_2, x_3)) = 0 POL(U32(x_1, x_2, x_3)) = 0 POL(U33(x_1, x_2, x_3)) = 0 POL(U34(x_1, x_2, x_3)) = 0 POL(U35(x_1, x_2)) = 0 POL(U36(x_1)) = 0 POL(U41(x_1, x_2)) = 1 POL(U42(x_1)) = 0 POL(U51(x_1)) = 0 POL(U61(x_1, x_2)) = 0 POL(U62(x_1)) = 0 POL(U71(x_1, x_2)) = 0 POL(U72(x_1, x_2)) = 0 POL(U81(x_1, x_2, x_3)) = 0 POL(U82(x_1, x_2, x_3)) = 0 POL(U83(x_1, x_2, x_3)) = 0 POL(U84(x_1, x_2, x_3)) = 0 POL(U91(x_1, x_2)) = 0 POL(U92(x_1)) = 0 POL(active(x_1)) = 0 POL(isNat(x_1)) = 1 POL(isNatKind(x_1)) = 1 POL(mark(x_1)) = 0 POL(plus(x_1, x_2)) = 0 POL(s(x_1)) = 0 POL(tt) = 0 POL(x(x_1, x_2)) = 0 ---------------------------------------- (350) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U16(X)) -> MARK(X) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (351) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U16(X)) -> MARK(X) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, -2} POL( U11_3(x_1, ..., x_3) ) = max{0, -2} POL( U12_3(x_1, ..., x_3) ) = max{0, -2} POL( U13_3(x_1, ..., x_3) ) = max{0, -2} POL( U14_3(x_1, ..., x_3) ) = 1 POL( U21_2(x_1, x_2) ) = 0 POL( U22_2(x_1, x_2) ) = 0 POL( U41_2(x_1, x_2) ) = 2x_1 + 1 POL( mark_1(x_1) ) = max{0, -2} POL( U102_3(x_1, ..., x_3) ) = 2x_3 + 2 POL( active_1(x_1) ) = 2 POL( U101_3(x_1, ..., x_3) ) = 2 POL( tt ) = 0 POL( isNatKind_1(x_1) ) = 0 POL( U103_3(x_1, ..., x_3) ) = max{0, x_3 - 2} POL( isNat_1(x_1) ) = 0 POL( U104_3(x_1, ..., x_3) ) = 2x_3 + 2 POL( plus_2(x_1, x_2) ) = max{0, x_1 + x_2 - 1} POL( x_2(x_1, x_2) ) = 2 POL( U15_2(x_1, x_2) ) = x_1 + 1 POL( U16_1(x_1) ) = 2x_1 + 2 POL( U23_1(x_1) ) = x_1 + 1 POL( U31_3(x_1, ..., x_3) ) = 2 POL( U32_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 + 2x_3 - 2} POL( U33_3(x_1, ..., x_3) ) = max{0, x_2 - 2} POL( U34_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} POL( U35_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( U36_1(x_1) ) = 2 POL( U42_1(x_1) ) = x_1 + 1 POL( U61_2(x_1, x_2) ) = max{0, x_1 - 2} POL( U62_1(x_1) ) = max{0, -2} POL( U71_2(x_1, x_2) ) = 2 POL( U72_2(x_1, x_2) ) = 2 POL( U81_3(x_1, ..., x_3) ) = max{0, 2x_1 - 2} POL( U82_3(x_1, ..., x_3) ) = max{0, x_1 + x_2 + x_3 - 2} POL( U83_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_2 + x_3 - 2} POL( U84_3(x_1, ..., x_3) ) = x_1 + 2 POL( s_1(x_1) ) = 2 POL( U91_2(x_1, x_2) ) = max{0, x_1 - 2} POL( U92_1(x_1) ) = 2 POL( U51_1(x_1) ) = 2x_1 + 1 POL( 0 ) = 0 POL( MARK_1(x_1) ) = max{0, x_1 - 1} The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: none ---------------------------------------- (352) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) MARK(U42(X)) -> MARK(X) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (353) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. ACTIVE(U41(tt, V2)) -> MARK(U42(isNatKind(V2))) The remaining pairs can at least be oriented weakly. Used ordering: Matrix interpretation [MATRO] with arctic natural numbers [ARCTIC]: <<< POL(MARK(x_1)) = [[0A]] + [[1A]] * x_1 >>> <<< POL(U12(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 + [[-I]] * x_3 >>> <<< POL(ACTIVE(x_1)) = [[0A]] + [[1A]] * x_1 >>> <<< POL(mark(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U11(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 + [[0A]] * x_3 >>> <<< POL(tt) = [[0A]] >>> <<< POL(isNatKind(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U13(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[-I]] * x_3 >>> <<< POL(U14(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[0A]] * x_2 + [[-I]] * x_3 >>> <<< POL(U15(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[-I]] * x_2 >>> <<< POL(isNat(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(plus(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U41(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U21(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U22(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U23(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U42(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U51(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(s(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U102(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[5A]] * x_2 + [[3A]] * x_3 >>> <<< POL(active(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(U101(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[5A]] * x_2 + [[3A]] * x_3 >>> <<< POL(U103(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[5A]] * x_2 + [[3A]] * x_3 >>> <<< POL(U104(x_1, x_2, x_3)) = [[0A]] + [[2A]] * x_1 + [[5A]] * x_2 + [[3A]] * x_3 >>> <<< POL(x(x_1, x_2)) = [[2A]] + [[3A]] * x_1 + [[5A]] * x_2 >>> <<< POL(U16(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U31(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[5A]] * x_3 >>> <<< POL(U32(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[1A]] * x_2 + [[5A]] * x_3 >>> <<< POL(U33(x_1, x_2, x_3)) = [[-I]] + [[5A]] * x_1 + [[1A]] * x_2 + [[3A]] * x_3 >>> <<< POL(U34(x_1, x_2, x_3)) = [[0A]] + [[2A]] * x_1 + [[1A]] * x_2 + [[-I]] * x_3 >>> <<< POL(U35(x_1, x_2)) = [[-I]] + [[1A]] * x_1 + [[-I]] * x_2 >>> <<< POL(U36(x_1)) = [[0A]] + [[-I]] * x_1 >>> <<< POL(U61(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U62(x_1)) = [[0A]] + [[0A]] * x_1 >>> <<< POL(U71(x_1, x_2)) = [[0A]] + [[0A]] * x_1 + [[0A]] * x_2 >>> <<< POL(U72(x_1, x_2)) = [[-I]] + [[-I]] * x_1 + [[0A]] * x_2 >>> <<< POL(U81(x_1, x_2, x_3)) = [[-I]] + [[-I]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U82(x_1, x_2, x_3)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U83(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U84(x_1, x_2, x_3)) = [[0A]] + [[-I]] * x_1 + [[1A]] * x_2 + [[0A]] * x_3 >>> <<< POL(U91(x_1, x_2)) = [[-I]] + [[0A]] * x_1 + [[1A]] * x_2 >>> <<< POL(U92(x_1)) = [[-I]] + [[0A]] * x_1 >>> <<< POL(0) = [[0A]] >>> The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) ---------------------------------------- (354) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) MARK(U42(X)) -> MARK(X) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (355) QDPQMonotonicMRRProof (EQUIVALENT) 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. Strictly oriented dependency pairs: MARK(U41(X1, X2)) -> ACTIVE(U41(mark(X1), X2)) Used ordering: Polynomial interpretation [POLO]: POL(0) = 0 POL(ACTIVE(x_1)) = 2*x_1 POL(MARK(x_1)) = 2 POL(U101(x_1, x_2, x_3)) = 0 POL(U102(x_1, x_2, x_3)) = 0 POL(U103(x_1, x_2, x_3)) = 0 POL(U104(x_1, x_2, x_3)) = 0 POL(U11(x_1, x_2, x_3)) = 1 POL(U12(x_1, x_2, x_3)) = 1 POL(U13(x_1, x_2, x_3)) = 1 POL(U14(x_1, x_2, x_3)) = 1 POL(U15(x_1, x_2)) = 0 POL(U16(x_1)) = 0 POL(U21(x_1, x_2)) = 1 POL(U22(x_1, x_2)) = 1 POL(U23(x_1)) = 0 POL(U31(x_1, x_2, x_3)) = 0 POL(U32(x_1, x_2, x_3)) = 0 POL(U33(x_1, x_2, x_3)) = 0 POL(U34(x_1, x_2, x_3)) = 0 POL(U35(x_1, x_2)) = 0 POL(U36(x_1)) = 0 POL(U41(x_1, x_2)) = 0 POL(U42(x_1)) = 0 POL(U51(x_1)) = 0 POL(U61(x_1, x_2)) = 0 POL(U62(x_1)) = 0 POL(U71(x_1, x_2)) = 0 POL(U72(x_1, x_2)) = 0 POL(U81(x_1, x_2, x_3)) = 0 POL(U82(x_1, x_2, x_3)) = 0 POL(U83(x_1, x_2, x_3)) = 0 POL(U84(x_1, x_2, x_3)) = 0 POL(U91(x_1, x_2)) = 0 POL(U92(x_1)) = 0 POL(active(x_1)) = 0 POL(isNat(x_1)) = 1 POL(isNatKind(x_1)) = 1 POL(mark(x_1)) = 0 POL(plus(x_1, x_2)) = 0 POL(s(x_1)) = 0 POL(tt) = 0 POL(x(x_1, x_2)) = 0 ---------------------------------------- (356) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) MARK(U42(X)) -> MARK(X) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (357) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U42(X)) -> MARK(X) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, -2} POL( U11_3(x_1, ..., x_3) ) = 1 POL( U12_3(x_1, ..., x_3) ) = max{0, -2} POL( U13_3(x_1, ..., x_3) ) = max{0, -2} POL( U14_3(x_1, ..., x_3) ) = max{0, -2} POL( U21_2(x_1, x_2) ) = 2x_1 + 1 POL( U22_2(x_1, x_2) ) = max{0, -2} POL( mark_1(x_1) ) = max{0, x_1 - 2} POL( U102_3(x_1, ..., x_3) ) = max{0, 2x_1 + x_2 + 2x_3 - 2} POL( active_1(x_1) ) = max{0, x_1 - 2} POL( U101_3(x_1, ..., x_3) ) = max{0, x_3 - 2} POL( tt ) = 1 POL( isNatKind_1(x_1) ) = 0 POL( U103_3(x_1, ..., x_3) ) = max{0, 2x_2 + x_3 - 2} POL( isNat_1(x_1) ) = 0 POL( U104_3(x_1, ..., x_3) ) = max{0, 2x_2 + x_3 - 2} POL( plus_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( x_2(x_1, x_2) ) = x_1 + 2 POL( U15_2(x_1, x_2) ) = x_1 + 1 POL( U16_1(x_1) ) = max{0, 2x_1 - 2} POL( U23_1(x_1) ) = 2x_1 + 1 POL( U31_3(x_1, ..., x_3) ) = 2x_1 + 2 POL( U32_3(x_1, ..., x_3) ) = max{0, 2x_2 - 2} POL( U33_3(x_1, ..., x_3) ) = max{0, 2x_2 - 2} POL( U34_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_2 + x_3 - 2} POL( U35_2(x_1, x_2) ) = max{0, x_1 + 2x_2 - 2} POL( U36_1(x_1) ) = max{0, x_1 - 2} POL( U41_2(x_1, x_2) ) = 2x_1 + 1 POL( U42_1(x_1) ) = 2x_1 + 2 POL( U61_2(x_1, x_2) ) = 2 POL( U62_1(x_1) ) = 2 POL( U71_2(x_1, x_2) ) = max{0, x_1 + 2x_2 - 2} POL( U72_2(x_1, x_2) ) = max{0, 2x_2 - 2} POL( U81_3(x_1, ..., x_3) ) = max{0, 2x_1 + x_2 + x_3 - 2} POL( U82_3(x_1, ..., x_3) ) = 2 POL( U83_3(x_1, ..., x_3) ) = max{0, 2x_1 - 2} POL( U84_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 - 2} POL( s_1(x_1) ) = 0 POL( U91_2(x_1, x_2) ) = 2 POL( U92_1(x_1) ) = max{0, -2} POL( U51_1(x_1) ) = 2x_1 + 1 POL( 0 ) = 0 POL( MARK_1(x_1) ) = max{0, x_1 - 1} The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: none ---------------------------------------- (358) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (359) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. ACTIVE(isNatKind(plus(V1, V2))) -> MARK(U41(isNatKind(V1), V2)) ACTIVE(isNatKind(s(V1))) -> MARK(U51(isNatKind(V1))) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, x_1 - 2} POL( U11_3(x_1, ..., x_3) ) = max{0, -2} POL( U12_3(x_1, ..., x_3) ) = 2 POL( U13_3(x_1, ..., x_3) ) = max{0, -2} POL( U14_3(x_1, ..., x_3) ) = 2 POL( U21_2(x_1, x_2) ) = max{0, -2} POL( U22_2(x_1, x_2) ) = max{0, -2} POL( mark_1(x_1) ) = max{0, 2x_1 - 2} POL( U102_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} POL( active_1(x_1) ) = max{0, x_1 - 2} POL( U101_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 + x_3 - 2} POL( tt ) = 2 POL( isNatKind_1(x_1) ) = 2x_1 + 2 POL( U103_3(x_1, ..., x_3) ) = max{0, x_2 - 2} POL( isNat_1(x_1) ) = 0 POL( U104_3(x_1, ..., x_3) ) = 2 POL( plus_2(x_1, x_2) ) = 2x_1 + 2x_2 + 2 POL( x_2(x_1, x_2) ) = max{0, x_1 - 2} POL( U15_2(x_1, x_2) ) = 2x_1 + 2 POL( U16_1(x_1) ) = 0 POL( U23_1(x_1) ) = 2x_1 + 2 POL( U31_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 + 2 POL( U32_3(x_1, ..., x_3) ) = 2x_1 + 2 POL( U33_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} POL( U34_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} POL( U35_2(x_1, x_2) ) = 2 POL( U36_1(x_1) ) = max{0, -2} POL( U41_2(x_1, x_2) ) = x_1 + x_2 + 2 POL( U42_1(x_1) ) = 1 POL( U61_2(x_1, x_2) ) = max{0, x_2 - 2} POL( U62_1(x_1) ) = max{0, x_1 - 2} POL( U71_2(x_1, x_2) ) = max{0, 2x_2 - 2} POL( U72_2(x_1, x_2) ) = max{0, -2} POL( U81_3(x_1, ..., x_3) ) = 2 POL( U82_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 + x_3 - 1} POL( U83_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 - 2} POL( U84_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} POL( s_1(x_1) ) = x_1 + 2 POL( U91_2(x_1, x_2) ) = max{0, 2x_1 + x_2 - 2} POL( U92_1(x_1) ) = 2x_1 + 1 POL( U51_1(x_1) ) = x_1 + 2 POL( 0 ) = 0 POL( MARK_1(x_1) ) = max{0, x_1 - 2} The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) ---------------------------------------- (360) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(isNatKind(X)) -> ACTIVE(isNatKind(X)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) MARK(U15(X1, X2)) -> MARK(X1) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (361) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (362) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> MARK(X1) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U41(X1, X2)) -> MARK(X1) MARK(U51(X)) -> MARK(X) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (363) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U51(X)) -> MARK(X) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, -2} POL( U11_3(x_1, ..., x_3) ) = max{0, -2} POL( U12_3(x_1, ..., x_3) ) = max{0, -2} POL( U13_3(x_1, ..., x_3) ) = 1 POL( U14_3(x_1, ..., x_3) ) = max{0, -2} POL( U21_2(x_1, x_2) ) = max{0, -2} POL( U22_2(x_1, x_2) ) = max{0, -2} POL( mark_1(x_1) ) = max{0, -2} POL( U102_3(x_1, ..., x_3) ) = 2x_2 + 2 POL( active_1(x_1) ) = max{0, x_1 - 2} POL( U101_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} POL( tt ) = 1 POL( isNatKind_1(x_1) ) = 0 POL( U103_3(x_1, ..., x_3) ) = 2x_1 + x_2 + 2 POL( isNat_1(x_1) ) = 0 POL( U104_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_2 - 2} POL( plus_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( x_2(x_1, x_2) ) = max{0, 2x_1 + x_2 - 2} POL( U15_2(x_1, x_2) ) = x_1 + 1 POL( U16_1(x_1) ) = 0 POL( U23_1(x_1) ) = 2x_1 + 1 POL( U31_3(x_1, ..., x_3) ) = max{0, 2x_2 + 2x_3 - 2} POL( U32_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 - 2} POL( U33_3(x_1, ..., x_3) ) = 2 POL( U34_3(x_1, ..., x_3) ) = max{0, x_1 - 2} POL( U35_2(x_1, x_2) ) = max{0, x_1 + 2x_2 - 2} POL( U36_1(x_1) ) = 0 POL( U41_2(x_1, x_2) ) = x_1 + x_2 + 1 POL( U42_1(x_1) ) = 2 POL( U61_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} POL( U62_1(x_1) ) = 2 POL( U71_2(x_1, x_2) ) = 2 POL( U72_2(x_1, x_2) ) = max{0, 2x_2 - 2} POL( U81_3(x_1, ..., x_3) ) = x_1 + 2 POL( U82_3(x_1, ..., x_3) ) = max{0, x_1 + 2x_2 + x_3 - 2} POL( U83_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 + 2x_3 - 2} POL( U84_3(x_1, ..., x_3) ) = 2x_3 + 2 POL( s_1(x_1) ) = 2 POL( U91_2(x_1, x_2) ) = max{0, 2x_2 - 2} POL( U92_1(x_1) ) = max{0, -2} POL( U51_1(x_1) ) = x_1 + 2 POL( 0 ) = 0 POL( MARK_1(x_1) ) = max{0, x_1 - 1} The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: none ---------------------------------------- (364) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> MARK(X1) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) MARK(U41(X1, X2)) -> MARK(X1) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (365) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U41(X1, X2)) -> MARK(X1) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, -2} POL( U11_3(x_1, ..., x_3) ) = 0 POL( U12_3(x_1, ..., x_3) ) = 0 POL( U13_3(x_1, ..., x_3) ) = max{0, -2} POL( U14_3(x_1, ..., x_3) ) = 0 POL( U21_2(x_1, x_2) ) = max{0, -2} POL( U22_2(x_1, x_2) ) = max{0, -2} POL( mark_1(x_1) ) = 2 POL( U102_3(x_1, ..., x_3) ) = 2x_1 + 2 POL( active_1(x_1) ) = x_1 + 2 POL( U101_3(x_1, ..., x_3) ) = max{0, x_1 + x_2 + x_3 - 2} POL( tt ) = 0 POL( isNatKind_1(x_1) ) = 0 POL( U103_3(x_1, ..., x_3) ) = max{0, x_2 - 2} POL( isNat_1(x_1) ) = 0 POL( U104_3(x_1, ..., x_3) ) = max{0, x_2 - 2} POL( plus_2(x_1, x_2) ) = max{0, x_1 - 2} POL( x_2(x_1, x_2) ) = 2x_1 + 2 POL( U15_2(x_1, x_2) ) = 2x_1 + 1 POL( U16_1(x_1) ) = max{0, 2x_1 - 2} POL( U23_1(x_1) ) = 2x_1 + 1 POL( U31_3(x_1, ..., x_3) ) = max{0, 2x_2 - 2} POL( U32_3(x_1, ..., x_3) ) = 2x_3 + 2 POL( U33_3(x_1, ..., x_3) ) = max{0, x_2 - 2} POL( U34_3(x_1, ..., x_3) ) = max{0, 2x_2 - 2} POL( U35_2(x_1, x_2) ) = max{0, x_1 - 1} POL( U36_1(x_1) ) = max{0, 2x_1 - 2} POL( U41_2(x_1, x_2) ) = 2x_1 + 2 POL( U42_1(x_1) ) = 2 POL( U61_2(x_1, x_2) ) = max{0, x_2 - 2} POL( U62_1(x_1) ) = 0 POL( U71_2(x_1, x_2) ) = max{0, x_2 - 2} POL( U72_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( U81_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} POL( U82_3(x_1, ..., x_3) ) = 2 POL( U83_3(x_1, ..., x_3) ) = 2x_1 + 2 POL( U84_3(x_1, ..., x_3) ) = 2x_1 + 2x_3 + 2 POL( s_1(x_1) ) = max{0, x_1 - 2} POL( U91_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} POL( U92_1(x_1) ) = 2 POL( U51_1(x_1) ) = 1 POL( 0 ) = 0 POL( MARK_1(x_1) ) = max{0, 2x_1 - 2} The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: none ---------------------------------------- (366) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> MARK(X1) MARK(isNat(X)) -> ACTIVE(isNat(X)) ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (367) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. ACTIVE(isNat(plus(V1, V2))) -> MARK(U11(isNatKind(V1), V1, V2)) ACTIVE(isNat(s(V1))) -> MARK(U21(isNatKind(V1), V1)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, x_1 - 1} POL( U11_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 + 2 POL( U12_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 + 2 POL( U13_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 + 2 POL( U14_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 + 2 POL( U21_2(x_1, x_2) ) = 2x_2 + 2 POL( U22_2(x_1, x_2) ) = 2x_2 + 2 POL( mark_1(x_1) ) = 2x_1 POL( U102_3(x_1, ..., x_3) ) = x_1 + 2 POL( active_1(x_1) ) = x_1 POL( U101_3(x_1, ..., x_3) ) = max{0, x_3 - 2} POL( tt ) = 2 POL( isNatKind_1(x_1) ) = 1 POL( U103_3(x_1, ..., x_3) ) = max{0, x_2 - 2} POL( isNat_1(x_1) ) = 2x_1 + 1 POL( U104_3(x_1, ..., x_3) ) = 2x_2 + 2x_3 + 2 POL( plus_2(x_1, x_2) ) = 2x_1 + x_2 + 1 POL( x_2(x_1, x_2) ) = max{0, 2x_1 - 1} POL( U15_2(x_1, x_2) ) = x_1 + 2x_2 + 1 POL( U16_1(x_1) ) = max{0, -2} POL( U23_1(x_1) ) = x_1 + 1 POL( U31_3(x_1, ..., x_3) ) = x_1 + 2x_3 + 2 POL( U32_3(x_1, ..., x_3) ) = x_1 + 2x_2 + 2 POL( U33_3(x_1, ..., x_3) ) = 2x_1 + x_2 + 2x_3 + 2 POL( U34_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 + x_3 - 2} POL( U35_2(x_1, x_2) ) = max{0, x_1 - 2} POL( U36_1(x_1) ) = 0 POL( U41_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} POL( U42_1(x_1) ) = 2x_1 + 1 POL( U61_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( U62_1(x_1) ) = 2 POL( U71_2(x_1, x_2) ) = max{0, x_2 - 2} POL( U72_2(x_1, x_2) ) = max{0, x_2 - 2} POL( U81_3(x_1, ..., x_3) ) = max{0, x_2 - 2} POL( U82_3(x_1, ..., x_3) ) = x_1 + x_2 POL( U83_3(x_1, ..., x_3) ) = 2x_1 + x_2 + 1 POL( U84_3(x_1, ..., x_3) ) = max{0, x_2 + x_3 - 2} POL( s_1(x_1) ) = x_1 + 1 POL( U91_2(x_1, x_2) ) = x_1 + 2 POL( U92_1(x_1) ) = max{0, x_1 - 2} POL( U51_1(x_1) ) = max{0, x_1 - 2} POL( 0 ) = 0 POL( MARK_1(x_1) ) = max{0, x_1 - 1} The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) ---------------------------------------- (368) Obligation: Q DP problem: The TRS P consists of the following rules: ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> MARK(X1) MARK(isNat(X)) -> ACTIVE(isNat(X)) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (369) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node. ---------------------------------------- (370) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> MARK(X1) MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (371) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. MARK(U11(X1, X2, X3)) -> ACTIVE(U11(mark(X1), X2, X3)) MARK(U21(X1, X2)) -> ACTIVE(U21(mark(X1), X2)) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( ACTIVE_1(x_1) ) = max{0, -2} POL( U11_3(x_1, ..., x_3) ) = x_2 + 2x_3 + 2 POL( U12_3(x_1, ..., x_3) ) = max{0, -2} POL( U13_3(x_1, ..., x_3) ) = max{0, -2} POL( U14_3(x_1, ..., x_3) ) = max{0, -2} POL( U21_2(x_1, x_2) ) = x_2 + 2 POL( U22_2(x_1, x_2) ) = max{0, -2} POL( mark_1(x_1) ) = 0 POL( U102_3(x_1, ..., x_3) ) = max{0, 2x_2 - 2} POL( active_1(x_1) ) = 2 POL( U101_3(x_1, ..., x_3) ) = max{0, x_1 + x_3 - 2} POL( tt ) = 0 POL( isNatKind_1(x_1) ) = 0 POL( U103_3(x_1, ..., x_3) ) = x_1 + 2x_3 + 2 POL( isNat_1(x_1) ) = 0 POL( U104_3(x_1, ..., x_3) ) = max{0, x_2 - 2} POL( plus_2(x_1, x_2) ) = 2 POL( x_2(x_1, x_2) ) = 2 POL( U15_2(x_1, x_2) ) = 2x_1 + 1 POL( U16_1(x_1) ) = max{0, -2} POL( U23_1(x_1) ) = 2x_1 + 1 POL( U31_3(x_1, ..., x_3) ) = max{0, 2x_2 - 2} POL( U32_3(x_1, ..., x_3) ) = max{0, 2x_2 + x_3 - 1} POL( U33_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} POL( U34_3(x_1, ..., x_3) ) = max{0, x_1 + x_2 + x_3 - 2} POL( U35_2(x_1, x_2) ) = x_1 + x_2 + 2 POL( U36_1(x_1) ) = max{0, -2} POL( U41_2(x_1, x_2) ) = max{0, 2x_1 + x_2 - 2} POL( U42_1(x_1) ) = 2 POL( U61_2(x_1, x_2) ) = 2 POL( U62_1(x_1) ) = 2 POL( U71_2(x_1, x_2) ) = x_1 POL( U72_2(x_1, x_2) ) = x_1 + 2 POL( U81_3(x_1, ..., x_3) ) = 2x_2 + 2 POL( U82_3(x_1, ..., x_3) ) = 2 POL( U83_3(x_1, ..., x_3) ) = max{0, x_1 - 2} POL( U84_3(x_1, ..., x_3) ) = max{0, 2x_2 - 2} POL( s_1(x_1) ) = 1 POL( U91_2(x_1, x_2) ) = max{0, 2x_1 + 2x_2 - 2} POL( U92_1(x_1) ) = 1 POL( U51_1(x_1) ) = max{0, -2} POL( 0 ) = 0 POL( MARK_1(x_1) ) = max{0, 2x_1 - 2} The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: none ---------------------------------------- (372) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) MARK(U15(X1, X2)) -> MARK(X1) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) MARK(U23(X)) -> MARK(X) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (373) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. ACTIVE(U11(tt, V1, V2)) -> MARK(U12(isNatKind(V1), V1, V2)) ACTIVE(U12(tt, V1, V2)) -> MARK(U13(isNatKind(V2), V1, V2)) ACTIVE(U13(tt, V1, V2)) -> MARK(U14(isNatKind(V2), V1, V2)) ACTIVE(U14(tt, V1, V2)) -> MARK(U15(isNat(V1), V2)) ACTIVE(U21(tt, V1)) -> MARK(U22(isNatKind(V1), V1)) ACTIVE(U22(tt, V1)) -> MARK(U23(isNat(V1))) The remaining pairs can at least be oriented weakly. Used ordering: Combined order from the following AFS and order. MARK(x1) = x1 U12(x1, x2, x3) = U12 ACTIVE(x1) = x1 U11(x1, x2, x3) = U11 U13(x1, x2, x3) = U13 U14(x1, x2, x3) = U14 U15(x1, x2) = x1 isNat(x1) = isNat U21(x1, x2) = U21 U22(x1, x2) = U22 U23(x1) = x1 mark(x1) = x1 active(x1) = x1 Knuth-Bendix order [KBO] with precedence:trivial and weight map: isNat=1 U12=4 U22=2 U14=2 U13=3 U21=3 U11=5 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) ---------------------------------------- (374) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U12(X1, X2, X3)) -> ACTIVE(U12(mark(X1), X2, X3)) MARK(U13(X1, X2, X3)) -> ACTIVE(U13(mark(X1), X2, X3)) MARK(U14(X1, X2, X3)) -> ACTIVE(U14(mark(X1), X2, X3)) MARK(U15(X1, X2)) -> MARK(X1) MARK(U22(X1, X2)) -> ACTIVE(U22(mark(X1), X2)) MARK(U23(X)) -> MARK(X) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (375) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 4 less nodes. ---------------------------------------- (376) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U23(X)) -> MARK(X) MARK(U15(X1, X2)) -> MARK(X1) The TRS R consists of the following rules: mark(U102(X1, X2, X3)) -> active(U102(mark(X1), X2, X3)) active(U101(tt, M, N)) -> mark(U102(isNatKind(M), M, N)) active(U102(tt, M, N)) -> mark(U103(isNat(N), M, N)) mark(U103(X1, X2, X3)) -> active(U103(mark(X1), X2, X3)) active(U103(tt, M, N)) -> mark(U104(isNatKind(N), M, N)) mark(U104(X1, X2, X3)) -> active(U104(mark(X1), X2, X3)) active(U104(tt, M, N)) -> mark(plus(x(N, M), N)) mark(plus(X1, X2)) -> active(plus(mark(X1), mark(X2))) active(U11(tt, V1, V2)) -> mark(U12(isNatKind(V1), V1, V2)) mark(U12(X1, X2, X3)) -> active(U12(mark(X1), X2, X3)) active(U12(tt, V1, V2)) -> mark(U13(isNatKind(V2), V1, V2)) mark(U13(X1, X2, X3)) -> active(U13(mark(X1), X2, X3)) active(U13(tt, V1, V2)) -> mark(U14(isNatKind(V2), V1, V2)) mark(U14(X1, X2, X3)) -> active(U14(mark(X1), X2, X3)) active(U14(tt, V1, V2)) -> mark(U15(isNat(V1), V2)) mark(U15(X1, X2)) -> active(U15(mark(X1), X2)) active(U15(tt, V2)) -> mark(U16(isNat(V2))) mark(U16(X)) -> active(U16(mark(X))) active(U21(tt, V1)) -> mark(U22(isNatKind(V1), V1)) mark(U22(X1, X2)) -> active(U22(mark(X1), X2)) active(U22(tt, V1)) -> mark(U23(isNat(V1))) mark(U23(X)) -> active(U23(mark(X))) active(U31(tt, V1, V2)) -> mark(U32(isNatKind(V1), V1, V2)) mark(U32(X1, X2, X3)) -> active(U32(mark(X1), X2, X3)) active(U32(tt, V1, V2)) -> mark(U33(isNatKind(V2), V1, V2)) mark(U33(X1, X2, X3)) -> active(U33(mark(X1), X2, X3)) active(U33(tt, V1, V2)) -> mark(U34(isNatKind(V2), V1, V2)) mark(U34(X1, X2, X3)) -> active(U34(mark(X1), X2, X3)) active(U34(tt, V1, V2)) -> mark(U35(isNat(V1), V2)) mark(U35(X1, X2)) -> active(U35(mark(X1), X2)) active(U35(tt, V2)) -> mark(U36(isNat(V2))) mark(U36(X)) -> active(U36(mark(X))) active(U41(tt, V2)) -> mark(U42(isNatKind(V2))) mark(U42(X)) -> active(U42(mark(X))) active(U61(tt, V2)) -> mark(U62(isNatKind(V2))) mark(U62(X)) -> active(U62(mark(X))) active(U71(tt, N)) -> mark(U72(isNatKind(N), N)) mark(U72(X1, X2)) -> active(U72(mark(X1), X2)) active(U72(tt, N)) -> mark(N) mark(U101(X1, X2, X3)) -> active(U101(mark(X1), X2, X3)) active(U81(tt, M, N)) -> mark(U82(isNatKind(M), M, N)) mark(U82(X1, X2, X3)) -> active(U82(mark(X1), X2, X3)) active(U82(tt, M, N)) -> mark(U83(isNat(N), M, N)) mark(U83(X1, X2, X3)) -> active(U83(mark(X1), X2, X3)) active(U83(tt, M, N)) -> mark(U84(isNatKind(N), M, N)) mark(U84(X1, X2, X3)) -> active(U84(mark(X1), X2, X3)) active(U84(tt, M, N)) -> mark(s(plus(N, M))) mark(s(X)) -> active(s(mark(X))) active(U91(tt, N)) -> mark(U92(isNatKind(N))) mark(U92(X)) -> active(U92(mark(X))) active(isNat(plus(V1, V2))) -> mark(U11(isNatKind(V1), V1, V2)) mark(U11(X1, X2, X3)) -> active(U11(mark(X1), X2, X3)) active(isNat(s(V1))) -> mark(U21(isNatKind(V1), V1)) mark(U21(X1, X2)) -> active(U21(mark(X1), X2)) active(isNat(x(V1, V2))) -> mark(U31(isNatKind(V1), V1, V2)) mark(U31(X1, X2, X3)) -> active(U31(mark(X1), X2, X3)) active(isNatKind(plus(V1, V2))) -> mark(U41(isNatKind(V1), V2)) mark(U41(X1, X2)) -> active(U41(mark(X1), X2)) active(isNatKind(s(V1))) -> mark(U51(isNatKind(V1))) mark(U51(X)) -> active(U51(mark(X))) active(isNatKind(x(V1, V2))) -> mark(U61(isNatKind(V1), V2)) mark(U61(X1, X2)) -> active(U61(mark(X1), X2)) active(plus(N, 0)) -> mark(U71(isNat(N), N)) mark(U71(X1, X2)) -> active(U71(mark(X1), X2)) active(plus(N, s(M))) -> mark(U81(isNat(M), M, N)) mark(U81(X1, X2, X3)) -> active(U81(mark(X1), X2, X3)) active(x(N, 0)) -> mark(U91(isNat(N), N)) mark(U91(X1, X2)) -> active(U91(mark(X1), X2)) active(x(N, s(M))) -> mark(U101(isNat(M), M, N)) mark(isNatKind(X)) -> active(isNatKind(X)) mark(isNat(X)) -> active(isNat(X)) mark(x(X1, X2)) -> active(x(mark(X1), mark(X2))) mark(tt) -> active(tt) mark(0) -> active(0) U61(X1, mark(X2)) -> U61(X1, X2) U61(mark(X1), X2) -> U61(X1, X2) U61(active(X1), X2) -> U61(X1, X2) U61(X1, active(X2)) -> U61(X1, X2) active(U16(tt)) -> mark(tt) active(U23(tt)) -> mark(tt) active(U36(tt)) -> mark(tt) active(U42(tt)) -> mark(tt) active(U51(tt)) -> mark(tt) active(U62(tt)) -> mark(tt) active(U92(tt)) -> mark(0) active(isNat(0)) -> mark(tt) active(isNatKind(0)) -> mark(tt) U102(X1, mark(X2), X3) -> U102(X1, X2, X3) U102(mark(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, X2, mark(X3)) -> U102(X1, X2, X3) U102(active(X1), X2, X3) -> U102(X1, X2, X3) U102(X1, active(X2), X3) -> U102(X1, X2, X3) U102(X1, X2, active(X3)) -> U102(X1, X2, X3) U103(X1, mark(X2), X3) -> U103(X1, X2, X3) U103(mark(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, X2, mark(X3)) -> U103(X1, X2, X3) U103(active(X1), X2, X3) -> U103(X1, X2, X3) U103(X1, active(X2), X3) -> U103(X1, X2, X3) U103(X1, X2, active(X3)) -> U103(X1, X2, X3) U104(X1, mark(X2), X3) -> U104(X1, X2, X3) U104(mark(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, X2, mark(X3)) -> U104(X1, X2, X3) U104(active(X1), X2, X3) -> U104(X1, X2, X3) U104(X1, active(X2), X3) -> U104(X1, X2, X3) U104(X1, X2, active(X3)) -> U104(X1, X2, X3) plus(X1, mark(X2)) -> plus(X1, X2) plus(mark(X1), X2) -> plus(X1, X2) plus(active(X1), X2) -> plus(X1, X2) plus(X1, active(X2)) -> plus(X1, X2) U12(X1, mark(X2), X3) -> U12(X1, X2, X3) U12(mark(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, X2, mark(X3)) -> U12(X1, X2, X3) U12(active(X1), X2, X3) -> U12(X1, X2, X3) U12(X1, active(X2), X3) -> U12(X1, X2, X3) U12(X1, X2, active(X3)) -> U12(X1, X2, X3) U13(X1, mark(X2), X3) -> U13(X1, X2, X3) U13(mark(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, X2, mark(X3)) -> U13(X1, X2, X3) U13(active(X1), X2, X3) -> U13(X1, X2, X3) U13(X1, active(X2), X3) -> U13(X1, X2, X3) U13(X1, X2, active(X3)) -> U13(X1, X2, X3) U14(X1, mark(X2), X3) -> U14(X1, X2, X3) U14(mark(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, X2, mark(X3)) -> U14(X1, X2, X3) U14(active(X1), X2, X3) -> U14(X1, X2, X3) U14(X1, active(X2), X3) -> U14(X1, X2, X3) U14(X1, X2, active(X3)) -> U14(X1, X2, X3) U15(X1, mark(X2)) -> U15(X1, X2) U15(mark(X1), X2) -> U15(X1, X2) U15(active(X1), X2) -> U15(X1, X2) U15(X1, active(X2)) -> U15(X1, X2) U16(active(X)) -> U16(X) U16(mark(X)) -> U16(X) U22(X1, mark(X2)) -> U22(X1, X2) U22(mark(X1), X2) -> U22(X1, X2) U22(active(X1), X2) -> U22(X1, X2) U22(X1, active(X2)) -> U22(X1, X2) U23(active(X)) -> U23(X) U23(mark(X)) -> U23(X) U32(X1, mark(X2), X3) -> U32(X1, X2, X3) U32(mark(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, X2, mark(X3)) -> U32(X1, X2, X3) U32(active(X1), X2, X3) -> U32(X1, X2, X3) U32(X1, active(X2), X3) -> U32(X1, X2, X3) U32(X1, X2, active(X3)) -> U32(X1, X2, X3) U33(X1, mark(X2), X3) -> U33(X1, X2, X3) U33(mark(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, X2, mark(X3)) -> U33(X1, X2, X3) U33(active(X1), X2, X3) -> U33(X1, X2, X3) U33(X1, active(X2), X3) -> U33(X1, X2, X3) U33(X1, X2, active(X3)) -> U33(X1, X2, X3) U34(X1, mark(X2), X3) -> U34(X1, X2, X3) U34(mark(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, X2, mark(X3)) -> U34(X1, X2, X3) U34(active(X1), X2, X3) -> U34(X1, X2, X3) U34(X1, active(X2), X3) -> U34(X1, X2, X3) U34(X1, X2, active(X3)) -> U34(X1, X2, X3) U35(X1, mark(X2)) -> U35(X1, X2) U35(mark(X1), X2) -> U35(X1, X2) U35(active(X1), X2) -> U35(X1, X2) U35(X1, active(X2)) -> U35(X1, X2) U36(active(X)) -> U36(X) U36(mark(X)) -> U36(X) U42(active(X)) -> U42(X) U42(mark(X)) -> U42(X) U62(active(X)) -> U62(X) U62(mark(X)) -> U62(X) U72(X1, mark(X2)) -> U72(X1, X2) U72(mark(X1), X2) -> U72(X1, X2) U72(active(X1), X2) -> U72(X1, X2) U72(X1, active(X2)) -> U72(X1, X2) U101(X1, mark(X2), X3) -> U101(X1, X2, X3) U101(mark(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, X2, mark(X3)) -> U101(X1, X2, X3) U101(active(X1), X2, X3) -> U101(X1, X2, X3) U101(X1, active(X2), X3) -> U101(X1, X2, X3) U101(X1, X2, active(X3)) -> U101(X1, X2, X3) U82(X1, mark(X2), X3) -> U82(X1, X2, X3) U82(mark(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, X2, mark(X3)) -> U82(X1, X2, X3) U82(active(X1), X2, X3) -> U82(X1, X2, X3) U82(X1, active(X2), X3) -> U82(X1, X2, X3) U82(X1, X2, active(X3)) -> U82(X1, X2, X3) U83(X1, mark(X2), X3) -> U83(X1, X2, X3) U83(mark(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, X2, mark(X3)) -> U83(X1, X2, X3) U83(active(X1), X2, X3) -> U83(X1, X2, X3) U83(X1, active(X2), X3) -> U83(X1, X2, X3) U83(X1, X2, active(X3)) -> U83(X1, X2, X3) U84(X1, mark(X2), X3) -> U84(X1, X2, X3) U84(mark(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, X2, mark(X3)) -> U84(X1, X2, X3) U84(active(X1), X2, X3) -> U84(X1, X2, X3) U84(X1, active(X2), X3) -> U84(X1, X2, X3) U84(X1, X2, active(X3)) -> U84(X1, X2, X3) s(active(X)) -> s(X) s(mark(X)) -> s(X) U92(active(X)) -> U92(X) U92(mark(X)) -> U92(X) U11(X1, mark(X2), X3) -> U11(X1, X2, X3) U11(mark(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, X2, mark(X3)) -> U11(X1, X2, X3) U11(active(X1), X2, X3) -> U11(X1, X2, X3) U11(X1, active(X2), X3) -> U11(X1, X2, X3) U11(X1, X2, active(X3)) -> U11(X1, X2, X3) U21(X1, mark(X2)) -> U21(X1, X2) U21(mark(X1), X2) -> U21(X1, X2) U21(active(X1), X2) -> U21(X1, X2) U21(X1, active(X2)) -> U21(X1, X2) U31(X1, mark(X2), X3) -> U31(X1, X2, X3) U31(mark(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, X2, mark(X3)) -> U31(X1, X2, X3) U31(active(X1), X2, X3) -> U31(X1, X2, X3) U31(X1, active(X2), X3) -> U31(X1, X2, X3) U31(X1, X2, active(X3)) -> U31(X1, X2, X3) U41(X1, mark(X2)) -> U41(X1, X2) U41(mark(X1), X2) -> U41(X1, X2) U41(active(X1), X2) -> U41(X1, X2) U41(X1, active(X2)) -> U41(X1, X2) U51(active(X)) -> U51(X) U51(mark(X)) -> U51(X) U71(X1, mark(X2)) -> U71(X1, X2) U71(mark(X1), X2) -> U71(X1, X2) U71(active(X1), X2) -> U71(X1, X2) U71(X1, active(X2)) -> U71(X1, X2) U81(X1, mark(X2), X3) -> U81(X1, X2, X3) U81(mark(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, X2, mark(X3)) -> U81(X1, X2, X3) U81(active(X1), X2, X3) -> U81(X1, X2, X3) U81(X1, active(X2), X3) -> U81(X1, X2, X3) U81(X1, X2, active(X3)) -> U81(X1, X2, X3) U91(X1, mark(X2)) -> U91(X1, X2) U91(mark(X1), X2) -> U91(X1, X2) U91(active(X1), X2) -> U91(X1, X2) U91(X1, active(X2)) -> U91(X1, X2) x(X1, mark(X2)) -> x(X1, X2) x(mark(X1), X2) -> x(X1, X2) x(active(X1), X2) -> x(X1, X2) x(X1, active(X2)) -> x(X1, X2) The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (377) UsableRulesProof (EQUIVALENT) 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. ---------------------------------------- (378) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U23(X)) -> MARK(X) MARK(U15(X1, X2)) -> MARK(X1) R is empty. The set Q consists of the following terms: active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U23(mark(x0)) U23(active(x0)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (379) QReductionProof (EQUIVALENT) We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN]. active(U101(tt, x0, x1)) active(U102(tt, x0, x1)) active(U103(tt, x0, x1)) active(U104(tt, x0, x1)) active(U11(tt, x0, x1)) active(U12(tt, x0, x1)) active(U13(tt, x0, x1)) active(U14(tt, x0, x1)) active(U15(tt, x0)) active(U16(tt)) active(U21(tt, x0)) active(U22(tt, x0)) active(U23(tt)) active(U31(tt, x0, x1)) active(U32(tt, x0, x1)) active(U33(tt, x0, x1)) active(U34(tt, x0, x1)) active(U35(tt, x0)) active(U36(tt)) active(U41(tt, x0)) active(U42(tt)) active(U51(tt)) active(U61(tt, x0)) active(U62(tt)) active(U71(tt, x0)) active(U72(tt, x0)) active(U81(tt, x0, x1)) active(U82(tt, x0, x1)) active(U83(tt, x0, x1)) active(U84(tt, x0, x1)) active(U91(tt, x0)) active(U92(tt)) active(isNat(0)) active(isNat(plus(x0, x1))) active(isNat(s(x0))) active(isNat(x(x0, x1))) active(isNatKind(0)) active(isNatKind(plus(x0, x1))) active(isNatKind(s(x0))) active(isNatKind(x(x0, x1))) active(plus(x0, 0)) active(plus(x0, s(x1))) active(x(x0, 0)) active(x(x0, s(x1))) mark(U101(x0, x1, x2)) mark(tt) mark(U102(x0, x1, x2)) mark(isNatKind(x0)) mark(U103(x0, x1, x2)) mark(isNat(x0)) mark(U104(x0, x1, x2)) mark(plus(x0, x1)) mark(x(x0, x1)) mark(U11(x0, x1, x2)) mark(U12(x0, x1, x2)) mark(U13(x0, x1, x2)) mark(U14(x0, x1, x2)) mark(U15(x0, x1)) mark(U16(x0)) mark(U21(x0, x1)) mark(U22(x0, x1)) mark(U23(x0)) mark(U31(x0, x1, x2)) mark(U32(x0, x1, x2)) mark(U33(x0, x1, x2)) mark(U34(x0, x1, x2)) mark(U35(x0, x1)) mark(U36(x0)) mark(U41(x0, x1)) mark(U42(x0)) mark(U51(x0)) mark(U61(x0, x1)) mark(U62(x0)) mark(U71(x0, x1)) mark(U72(x0, x1)) mark(U81(x0, x1, x2)) mark(U82(x0, x1, x2)) mark(U83(x0, x1, x2)) mark(U84(x0, x1, x2)) mark(s(x0)) mark(U91(x0, x1)) mark(U92(x0)) mark(0) U101(mark(x0), x1, x2) U101(x0, mark(x1), x2) U101(x0, x1, mark(x2)) U101(active(x0), x1, x2) U101(x0, active(x1), x2) U101(x0, x1, active(x2)) U102(mark(x0), x1, x2) U102(x0, mark(x1), x2) U102(x0, x1, mark(x2)) U102(active(x0), x1, x2) U102(x0, active(x1), x2) U102(x0, x1, active(x2)) isNatKind(mark(x0)) isNatKind(active(x0)) U103(mark(x0), x1, x2) U103(x0, mark(x1), x2) U103(x0, x1, mark(x2)) U103(active(x0), x1, x2) U103(x0, active(x1), x2) U103(x0, x1, active(x2)) isNat(mark(x0)) isNat(active(x0)) U104(mark(x0), x1, x2) U104(x0, mark(x1), x2) U104(x0, x1, mark(x2)) U104(active(x0), x1, x2) U104(x0, active(x1), x2) U104(x0, x1, active(x2)) plus(mark(x0), x1) plus(x0, mark(x1)) plus(active(x0), x1) plus(x0, active(x1)) x(mark(x0), x1) x(x0, mark(x1)) x(active(x0), x1) x(x0, active(x1)) U11(mark(x0), x1, x2) U11(x0, mark(x1), x2) U11(x0, x1, mark(x2)) U11(active(x0), x1, x2) U11(x0, active(x1), x2) U11(x0, x1, active(x2)) U12(mark(x0), x1, x2) U12(x0, mark(x1), x2) U12(x0, x1, mark(x2)) U12(active(x0), x1, x2) U12(x0, active(x1), x2) U12(x0, x1, active(x2)) U13(mark(x0), x1, x2) U13(x0, mark(x1), x2) U13(x0, x1, mark(x2)) U13(active(x0), x1, x2) U13(x0, active(x1), x2) U13(x0, x1, active(x2)) U14(mark(x0), x1, x2) U14(x0, mark(x1), x2) U14(x0, x1, mark(x2)) U14(active(x0), x1, x2) U14(x0, active(x1), x2) U14(x0, x1, active(x2)) U16(mark(x0)) U16(active(x0)) U21(mark(x0), x1) U21(x0, mark(x1)) U21(active(x0), x1) U21(x0, active(x1)) U22(mark(x0), x1) U22(x0, mark(x1)) U22(active(x0), x1) U22(x0, active(x1)) U31(mark(x0), x1, x2) U31(x0, mark(x1), x2) U31(x0, x1, mark(x2)) U31(active(x0), x1, x2) U31(x0, active(x1), x2) U31(x0, x1, active(x2)) U32(mark(x0), x1, x2) U32(x0, mark(x1), x2) U32(x0, x1, mark(x2)) U32(active(x0), x1, x2) U32(x0, active(x1), x2) U32(x0, x1, active(x2)) U33(mark(x0), x1, x2) U33(x0, mark(x1), x2) U33(x0, x1, mark(x2)) U33(active(x0), x1, x2) U33(x0, active(x1), x2) U33(x0, x1, active(x2)) U34(mark(x0), x1, x2) U34(x0, mark(x1), x2) U34(x0, x1, mark(x2)) U34(active(x0), x1, x2) U34(x0, active(x1), x2) U34(x0, x1, active(x2)) U35(mark(x0), x1) U35(x0, mark(x1)) U35(active(x0), x1) U35(x0, active(x1)) U36(mark(x0)) U36(active(x0)) U41(mark(x0), x1) U41(x0, mark(x1)) U41(active(x0), x1) U41(x0, active(x1)) U42(mark(x0)) U42(active(x0)) U51(mark(x0)) U51(active(x0)) U61(mark(x0), x1) U61(x0, mark(x1)) U61(active(x0), x1) U61(x0, active(x1)) U62(mark(x0)) U62(active(x0)) U71(mark(x0), x1) U71(x0, mark(x1)) U71(active(x0), x1) U71(x0, active(x1)) U72(mark(x0), x1) U72(x0, mark(x1)) U72(active(x0), x1) U72(x0, active(x1)) U81(mark(x0), x1, x2) U81(x0, mark(x1), x2) U81(x0, x1, mark(x2)) U81(active(x0), x1, x2) U81(x0, active(x1), x2) U81(x0, x1, active(x2)) U82(mark(x0), x1, x2) U82(x0, mark(x1), x2) U82(x0, x1, mark(x2)) U82(active(x0), x1, x2) U82(x0, active(x1), x2) U82(x0, x1, active(x2)) U83(mark(x0), x1, x2) U83(x0, mark(x1), x2) U83(x0, x1, mark(x2)) U83(active(x0), x1, x2) U83(x0, active(x1), x2) U83(x0, x1, active(x2)) U84(mark(x0), x1, x2) U84(x0, mark(x1), x2) U84(x0, x1, mark(x2)) U84(active(x0), x1, x2) U84(x0, active(x1), x2) U84(x0, x1, active(x2)) s(mark(x0)) s(active(x0)) U91(mark(x0), x1) U91(x0, mark(x1)) U91(active(x0), x1) U91(x0, active(x1)) U92(mark(x0)) U92(active(x0)) ---------------------------------------- (380) Obligation: Q DP problem: The TRS P consists of the following rules: MARK(U23(X)) -> MARK(X) MARK(U15(X1, X2)) -> MARK(X1) R is empty. The set Q consists of the following terms: U15(mark(x0), x1) U15(x0, mark(x1)) U15(active(x0), x1) U15(x0, active(x1)) U23(mark(x0)) U23(active(x0)) We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (381) QDPSizeChangeProof (EQUIVALENT) 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. From the DPs we obtained the following set of size-change graphs: *MARK(U23(X)) -> MARK(X) The graph contains the following edges 1 > 1 *MARK(U15(X1, X2)) -> MARK(X1) The graph contains the following edges 1 > 1 ---------------------------------------- (382) YES